Javascript AngularJS如果ng if的计算结果为false,我的模型数据是否会变得无效?

Javascript AngularJS如果ng if的计算结果为false,我的模型数据是否会变得无效?,javascript,angularjs,angular-ng-if,Javascript,Angularjs,Angular Ng If,假设我有 <div ng-if="{{someCondition}}"> <input type="text" ng-model="myVariable"/> </div> 如果someCondition为false并且该DIV从DOM中删除,那么如果$scope.myVariable发生任何事情,会发生什么情况?什么都不会发生 ng if仅确定是否在DOM中创建html元素。当它存在时,值双向绑定到$scope.myVariable不会发生任何

假设我有

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

如果
someCondition
为false并且该DIV从DOM中删除,那么如果
$scope.myVariable
发生任何事情,会发生什么情况?

什么都不会发生

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

不会发生任何事情


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

如果表达式不应该有
{{}
插值指令,则第一件事
ng

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

在上述情况下,当
someCondition
范围值
未定义
时=null
此时只有
div
/
元素
从DOM树中删除

当您在思考
myVariable
variable哪个 里面有什么


所以这将保持原样,因为范围值已绑定到控制器实例。所以直到控制器实例存在,直到这个范围值存在。

如果表达式不应该有
{{}
插值指令,那么第一件事就是
ng

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

在上述情况下,当
someCondition
范围值
未定义
时=null
此时只有
div
/
元素
从DOM树中删除

当您在思考
myVariable
variable哪个 里面有什么


所以这将保持原样,因为范围值已绑定到控制器实例。所以直到控制器实例存在,直到这个范围值存在。

所以它不完全是双向数据绑定?因为销毁DOM元素不会销毁绑定的
ng模型。。。事实上,每次
ng如果
的计算结果为false,元素范围将被销毁,然后在计算结果为true时重新创建。由于原型继承,当您在控制器中时,您不会真正注意到这种差异,因此基本上您的
$scope.myVariable
会在
元素存在时更新,但在删除时不会被销毁,因为只有元素作用域被销毁不确定我的解释是否真的清楚。。。在参考链接中,当它说“注意,当使用
ngIf
删除元素时,”,那么它不是双向数据绑定吗?因为销毁DOM元素不会销毁绑定的
ng模型。。。事实上,每次
ng如果
的计算结果为false,元素范围将被销毁,然后在计算结果为true时重新创建。由于原型继承,当您在控制器中时,您不会真正注意到这种差异,因此基本上您的
$scope.myVariable
会在
元素存在时更新,但在删除时不会被销毁,因为只有元素作用域被销毁不确定我的解释是否真的清楚。。。参考链接中明确解释了“注意,当使用
ngIf
删除元素时……”