AngularJS 如果 ng-if 的计算结果为 false,我的模型数据会变得无效吗?
AngularJS does my model data become invalid if ng-if evaluates to false?
假设我有类似的东西
<div ng-if="{{someCondition}}">
<input type="text" ng-model="myVariable"/>
</div>
如果 someCondition
为假并且 DIV 从 DOM 中删除,如果 $scope.myVariable
发生任何事情怎么办?
什么都没发生 (see reference)。
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树,
As you are thinking what will happen with myVariable
variable which
is present inside it?
所以这将保持原样,因为范围值已绑定到控制器实例。因此,直到控制器实例存在为止,范围值才会存在。
假设我有类似的东西
<div ng-if="{{someCondition}}">
<input type="text" ng-model="myVariable"/>
</div>
如果 someCondition
为假并且 DIV 从 DOM 中删除,如果 $scope.myVariable
发生任何事情怎么办?
什么都没发生 (see reference)。
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树,
As you are thinking what will happen with
myVariable
variable which is present inside it?
所以这将保持原样,因为范围值已绑定到控制器实例。因此,直到控制器实例存在为止,范围值才会存在。