我想知道我有一个控制器和ng-if指令在同一个元素上
<div foo ng-if=“ctrl.visible”>You can see me</div>
Run Code Online (Sandbox Code Playgroud)
和一个控制器,像
NgController(selector: ‘[foo]’,….)
class FooController { var visible = true; }
Run Code Online (Sandbox Code Playgroud)
我应该看到"你能看到我"的文字吗?
答案如下。我不会看到文字。基本上,ng-if是一个嵌入指令,这意味着整个元素被从 DOM 中剥离出来,并且在 ng-if 实例化 Block 之前不会实例化其他指令,但这永远不会发生,因为它ctrl.visible甚至从未在范围上发布过,所以它总是错误的。 ..先有鸡还是先有蛋的问题。实际上,情况可能更糟:ctrl可能是父控制器,如果该控制器碰巧具有可见字段,则可能会导致不可预测的行为。
| 归档时间: |
|
| 查看次数: |
992 次 |
| 最近记录: |