2013-11-14 152 views
1

以下條件的HTML代碼如下:與NG-重複

tr.row(ng-class="{editing: is_dirty(p)}" ng-repeat="p in persons") 
td {{p.name}} 
td {{p.surname}} 

if is_dirty(p) 
    button.action Save 
else 
    button.action Edit 
    button.action Delete 

我開始與我的界面,將嘗試實現一些在線編輯。因此,我的第一步是列出所有人,然後單擊我添加一個新行。現在,一個新行應該只有保存按鈕,現有的行將有一個編輯和一個刪除按鈕。

上述代碼無效(使用jade,express,node和angular)。 我看ng-switchng-if但它們看起來過於複雜,我要簡單的if else ...

回答

2

如果is_dirty(P)在你的範圍內都有效的方法,你可以使用

ng-show="is_dirty(p)" 

ng-hide="is_dirty(p)" 

當is_dirty返回true時,ng-show將顯示元素。 當is_dirty返回true時,ng-hide會隱藏該元素。

ng-if與ng-show相似,但是元素會從dom中銷燬,而不是在條件爲false時隱藏。

0

你有沒有嘗試過這樣的:

<ANY ng-switch="expression"> 
    <ANY ng-switch-when="matchValue1">...</ANY> 
    <ANY ng-switch-when="matchValue2">...</ANY> 
    <ANY ng-switch-default>...</ANY> 
</ANY> 

http://docs.angularjs.org/api/ng.directive:ngSwitch

+0

是的,它看起來有點過於冗長......我喜歡加爾多的回答更好。謝謝! – faboolous