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>

我已经对代码进行了间隔和注释,以便更容易理解。

我试图将 say.user.id 和/或 $parent.me.id 包装到大括号中,但这并没有解决我的问题。

如果我将这两个值硬编码为 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 回答