为什么这个不起作用?
{{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。
发布于 2013-05-28 01:45:21
我使用ng-if解决了这个问题。甚至都不知道它的存在。
发布于 2013-05-28 11:02:27
正如在ng-switch page上的Disqus注释中提到的,Angular似乎将ng-switch-when属性的值作为字符串进行计算--它不是根据作用域进行计算的。
有关更多详细信息,请参阅var ngSwitchWhenDirective = ...的Angular source code
https://stackoverflow.com/questions/16777978
复制相似问题