如果ng-if评估为false,AngularJS会使我的模型数据无效吗?

时间:2016-03-29 13:29:47

标签: javascript angularjs angular-ng-if

我们说我有类似

的东西
<div ng-if="{{someCondition}}">
    <input type="text" ng-model="myVariable"/>
</div>

如果someCondition为false并且DIV已从DOM中删除,那么$scope.myVariable会发生什么?

2 个答案:

答案 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变量会发生什么   里面有它吗?

因此,范围值将被限制为控制器实例。所以直到控制器实例存在,直到那个时间范围值存在。