0
我建設使用controller as
語法角度控制器:
<body ng-controller="ctrl as myCtrl">
<p>accessed via scope resolution: {{ foo }} </p>
<p>accessed via controller resolution: {{ myCtrl.foo }}</p>
</body>
在控制器我有這樣的:
myApp.controller('ctrl', function($scope) {
this.foo = 'Controller\'s foo';
$scope.foo = '$scope\'s foo';
});
上述作品和版畫BOT controller's foo
和$scope's foo
代碼。
- 爲什麼?
- 這僅僅是「未指定行爲」的情況嗎?
- 有沒有什麼時候你想要在現實世界中使用兩者?
從文檔:控制器實例可以通過指定ng-controller =「as propertyName」發佈到範圍屬性中。所以propertyName.foo指的是$ scope.foo – geckob
此外,有些時候如果你有事件監聽器('$ scope。$ on()')或者需要顯式監視('$ $ watch()')一個變量或函數返回值,即使使用'controller as'語法。我在解釋原因時發現[這篇文章非常有用](https://toddmotto.com/digging-into-angulars-controller-as-syntax/)。 –
請參閱下面的鏈接,詳細解釋http://stackoverflow.com/questions/11605917/this-vs-scope-in-angularjs-controllers – Manas