AngularJS module: this versus $scope
本问题已经有最佳答案,请猛点这里访问。
我刚接触安古拉吉。我想知道两者之间的区别以下两个代码段:
i.使用此代码定义控制器的代码:
1 2 3 4 | var app = angular.module('greeting', []); app.controller('HelloCtrl', function() { this.name = 'Hello World'; }); |
二。使用$scope定义控制器的代码:
1 2 3 4 | var app = angular.module('greeting', []); app.controller('HelloCtrl', function($scope) { $scope.name = 'Hello World'; }); |
谢谢。
这两种实现在视图中的使用方式不同。此语法与控制器一起用作语法,这基本上使控制器成为视图模型。
以控制器为例
在控制器中
1 | this.text ="Controller as example" |
在视野中
1 | {{controllerViewModel.text}} |
范围等效
在控制器中
1 | $scope.text ="Scope example"; |
在视野中
1 | {{text}} |
下面是一些关于这个主题的有用链接
https://docs.angularjs.org/api/ng/directive/ng控制器
http://toddmotto.com/digging-into-angulars-controller-as-syntax/
https://thinkster.io/egghead/experimental-controller-as-语法/
"this"指的是helloctrl的实例…$scope是一个完全不同的对象,它已经有了状态,并且通过角度管理