如果ng-if的计算结果为false,AngularJS会使我的模型数据无效

AngularJS does my model data become invalid if ng-if evaluates to false?

本文关键字:我的 模型 无效 数据 AngularJS ng-if 计算 结果 false 如果      更新时间:2023-09-26

假设我有类似的东西

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

如果someCondition为false,并且DIV从DOM中被删除,那么如果$scope.myVariable发生了什么情况呢?

什么都没发生(请参阅参考资料)。

ng-if只是确定html元素是否在DOM中创建。当它存在时,<input>值被双向绑定到$scope.myVariable

首先,ng-if表达式不应该带有{{}}插值指令。

<div ng-if="someCondition">
    <input type="text" ng-model="myVariable"/>
</div>

在上述情况下,当someCondition作用域值为not defined!=null时,此时只有div/element从DOM树中删除,

当你在想myVariable变量会发生什么时里面有吗?

所以它将保持原样,因为作用域值已绑定到控制器实例。所以,直到控制器实例存在,直到那个时候,作用域值才会存在。