AngularJS控制器中的'this'与$ scope
在AngularJS主页的“创建组件”部分中,有以下示例:
controller: function($scope, $element) { var panes = $scope.panes = []; $scope.select = function(pane) { angular.forEach(panes, function(pane) { pane.selected = false; }); pane.selected = true; } this.addPane = function(pane) { if (panes.length == 0) $scope.select(pane); panes.push(pane); }}
注意如何select
添加方法$scope
,但是addPane
添加了方法this
。如果我将其更改为$scope.addPane
,则代码会中断。
文档说实际上存在差异,但没有提到差异是什么:
以前版本的Angular(pre 1.0 RC)允许您
this
与该$scope
方法互换使用,但现在不再是这种情况了。内的方法上的范围限定this
并且$scope
是可互换的(角套this
到$scope
),但是不另外你的控制器构造内部。
如何this
和$scope
在AngularJS控制器的工作?
慕尼黑8549860
缥缈止盈
相关分类