2016-03-31 81 views
0

我對角度transclude範圍感到困惑。我試圖讓說可摺疊指令。但是綁定在transclude範圍內不會改變父類的模型,除非我爲模型使用了一些對象。數據。來自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> 

我已經閱讀了這個主題,但仍然不明白爲什麼我必須在模型中使用前綴。 Confused about Angularjs transcluded and isolate scopes & bindings

工作實例在http://plnkr.co/edit/z3IvR1a37jdNRCJWG0Yq?p=preview

在我的應用我使用形式的對象,因此它工作正常,但我只是想知道這是爲什麼。

回答

0

當您使用對象綁定到模型時,對象將作爲參考傳遞給函數,而不是作爲參考而不是副本。在這種情況下,它仍然會參考先前的範圍。

+0

謝謝,這似乎是合理的。 – enkor