为什么这不起作用?
{{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包装成大括号,但它没有解决我的问题。
如果我将这两个值硬编码为1和1,则ng-switch工作,并显示按钮。
在这种情况下,$ parent是$ rootScope。答案 0 :(得分:0)
我通过使用ng-if来解决它。甚至都不知道存在。
答案 1 :(得分:0)
正如对ng-switch page的Disqus评论中所提到的,似乎Angular将ng-switch-when
属性的值作为字符串进行评估 - 它不会根据范围进行评估。
有关详细信息,请参阅Angular source code,var ngSwitchWhenDirective = ...