0

なぜこれが機能しないのですか?

{{shout.user.id}} : {{$parent.me.id}} <!-- Gives: 1 : 1 -->

<div ng-switch on="shout.user.id">

     {{shout.user.id}} : {{$parent.me.id}} <!-- Gives: 1 : 1 -->

     <a class="btn btn-mini btn-danger pull-right" 
        ng-click="remove($index)" 
        ng-switch-when="$parent.me.id" <!-- THIS doesn't work!? -->
      ><i class="icon-remove"></i></a>

</div>

理解しやすいように、コードに間隔を空けてコメントを付けました。

私は、shout.user.id や $parent.me.id を中かっこで囲おうとしましたが、問題は解決しませんでした。

2 つの値を 1 と 1 にハードコーディングすると、ng-switch が機能し、ボタンが表示されます。

この場合、$parent は $rootScope です。

4

2 に答える 2

0

ng-switch ページの Disqus コメントで述べたように、Angular はng-switch-when属性の値を文字列として評価するようです。スコープに対して評価されません。

詳細については、Angular ソース コードを参照してください。var ngSwitchWhenDirective = ...

于 2013-05-28T03:02:27.273 に答える
0

代わりに ng-if を使用して解決しました。それが存在することさえ知りませんでした。

于 2013-05-27T17:45:21.313 に答える