Angular 1.X中的指令默認設置爲雙向綁定。組件默認情況下具有獨立的作用域。我有一個看起來視圖,如:AngularJS 1.5 - 如何在組件上設置雙向綁定
<div class="my-view">
{{controllerVariable}}
</div>
如果我有上述設置爲一個指令,該controllerVariable
正確加載在以下情況:
<div ng-controller="myController">
<my-view></my-view>
</div>
但如果我把它設置爲使用以下組件:
myApp.component('myView', {
templateUrl: '/path/to/view',
bindings: '='
});
然後變量值不顯示。我曾嘗試將$ctrl
添加到變量中:
<div class="my-view">
{{$ctrl.controllerVariable}}
</div>
但是這並不顯示該值。
我在這裏錯過了什麼?
組件中不建議使用雙向綁定。組件被設計成一個緊湊的,可重用的元素,它是完全獨立的,這意味着它不依賴於周圍的HTML/JavaScript,也不會改變周圍的HTML/JavaScript。組件*可以**與其他應用程序元素進行通信,但它們不應該能夠被其他元素修改或修改。 – Claies