可执行示例:
http://jsbin.com/secuz/5/edit?html,js,输出
细节
上述失败与我关于 Angular 指令处理顺序的假设相矛盾。我希望首先运行外部指令,然后执行向内传播。
我是否正确地认为这种无序评估是由于ng-if
优先级高于ng-show
?如果是这样,不应该只在两个指令在同一个元素上时才考虑优先级吗?
主要问题
我怎样才能确保执行总是从外到内?我是否需要对我使用的所有指令给予相同的优先级?
编辑:
尝试了另外 2 个场景:
- 如果两者都是
ng-if
s,那么传播是从外向内发生的,正如预期的那样:
[[ '1 if', true ], [ '2 if', true ], [ '1 if', true ], [ '2 if', true ]]
- 然而,两个
ng-show
s 表现出违反直觉的行为:
[[ '2 show', true ], [ '1 show', true ], [ '2 show', true ], [ '1 show', true ]]