Javascript 从转移范围角度更改父模型

Javascript 从转移范围角度更改父模型,javascript,angularjs,angularjs-ng-transclude,Javascript,Angularjs,Angularjs Ng Transclude,我被角度转移镜弄糊涂了。我在试着做一个可以折叠的指令。但是在transclude范围内的绑定不会改变父对象的模型,除非我为模型使用一些对象,例如数据 <div> data.prop: {{data.prop}} <br> prop: {{prop}} <collapsible> data.prop: <input type="text" ng-model="data.prop" /> <br> // WILL CHA

我被角度转移镜弄糊涂了。我在试着做一个可以折叠的指令。但是在transclude范围内的绑定不会改变父对象的模型,除非我为模型使用一些对象,例如数据

<div>
  data.prop: {{data.prop}} <br>
  prop: {{prop}}
  <collapsible>
    data.prop: <input type="text" ng-model="data.prop" /> <br> // WILL CHANGE PARENT
    prop: <input type="text" ng-model="prop" /> // WONT CHANGE PARENT
  </collapsible>
</div>

data.prop:{{data.prop}}
道具:{{prop}} data.prop:
//将更改父级 prop://不会更改父项
我已经读过这个主题,但仍然不明白为什么我必须在模型中使用前缀。

工作示例


在我的应用程序中,我将对象用于表单,因此它工作正常,但我只想知道原因。

当您使用对象绑定到模型时,您的对象将作为引用而不是副本传递到不同的作用域,在
Javascript中,对象将作为引用传递给函数。在这种情况下,它仍将参考以前的范围。

谢谢,这似乎是合理的。