我有ng秀:
<a ng-show="vm.state.task | canFinish : vm.user">Test</a>
这将导致一个元素在浏览器中呈现,然后如果过滤器返回false,则该元素被隐藏。
看起来ng-show
首先检查了vm.state.task
(结果为true),然后进行了可能返回false的过滤器。
但这不是OR语句,为什么ng-show
首先检查vm.state.task
?
答案 0 :(得分:0)
在不知道您的“ canFinish”函数的情况下很难说,但是:尽管角滤波器最初是同步函数,但是在值更改后它们可能会多次调用。因此,也许在首次调用后结果发生了变化。
答案 1 :(得分:0)
最后,错误就在我这一边。语法和过滤器按预期工作,并且过滤器出现问题。它最初返回的是true,但一直循环运行,因此最终它将返回false。