我们说我有类似
的东西<div ng-if="{{someCondition}}">
<input type="text" ng-model="myVariable"/>
</div>
如果someCondition
为false并且DIV已从DOM中删除,那么$scope.myVariable
会发生什么?
答案 0 :(得分:3)
没有任何事情发生(see reference)。
ng-if
只确定是否在DOM中创建了html元素。如果存在,则<input>
值会双向绑定到$scope.myVariable
。
答案 1 :(得分:2)
第一件事ng-if
表达式不应该有{{}}
插值指令。
<div ng-if="someCondition">
<input type="text" ng-model="myVariable"/>
</div>
在上述情况下,当someCondition
范围值为not defined
或!=null
时,只有div
/ element
从DOM树中删除,
正如您在考虑
myVariable
变量会发生什么 里面有它吗?
因此,范围值将被限制为控制器实例。所以直到控制器实例存在,直到那个时间范围值存在。