1

コードは次のとおりです。

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-switchandを見てきましng-ifたが、単純なif elseの場合、それらは私には過度に複雑に見えます...

4

2 に答える 2

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 に似ていますが、条件が false の場合、要素は隠される代わりに dom から破棄されます。

于 2013-11-14T16:11:23.190 に答える
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

于 2013-11-14T16:10:34.213 に答える