带有ng-repeat的条件HTML

时间:2013-11-14 16:03:30

标签: javascript angularjs pug ng-repeat

以下是代码:

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,但是对于我来说,如果简单的话,它们看起来过于复杂......

2 个答案:

答案 0 :(得分: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中销毁而不是被隐藏。

答案 1 :(得分: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