0
我是新来的角度,并试图找出范围的工作原理。有角度的儿童范围不能提及父母
我假设子范围将继承父范围。请参阅angularjs wiki
在AngularJS中,子范围通常从其父范围通常原型继承。
所以我创建pluncker
一些简单的测试代码,但是,当我从小孩范围变更范围变量,它不反映变化父范围是什么?
这是为什么?我做错什么了吗?
我是新来的角度,并试图找出范围的工作原理。有角度的儿童范围不能提及父母
我假设子范围将继承父范围。请参阅angularjs wiki
在AngularJS中,子范围通常从其父范围通常原型继承。
所以我创建pluncker
一些简单的测试代码,但是,当我从小孩范围变更范围变量,它不反映变化父范围是什么?
这是为什么?我做错什么了吗?
仅当该属性缺失时,作用域才从其父项继承属性。在您的代码中,当您尚未输入任何内容时,该属性会丢失并从父范围继承,但是当您开始键入时,该属性会在子范围上创建为单独的属性。在子作用域上创建属性后,ng-model
会不断更新该子属性的属性。
如果你需要绑定到父作用域的属性,你可以尝试$parent.out_var1
:
<input type="text" ng-model="$parent.out_var1">
你的意思是NG-模型的指令再次声明此属性,因此它在重新定义孩子的范围? – fuyi
@xiaopang:ng-model创建属性,因为它在子作用域上不存在。在这种情况下,父范围和子范围都具有此属性,但它们不同。 –
谢谢。我认为这是答案。但另一个问题是我怎么能从子范围引用父属性呢?我从控制器知道,我可以参考它,但我怎么能从视图中引用它? – fuyi