我是AngularJS的新手。我想知道它们之间的区别 以下两个代码片段:
予。使用它定义控制器的代码:
var app = angular.module('greeting', []);
app.controller('HelloCtrl', function() {
this.name = 'Hello World';
});
II。使用$ scope定义控制器的代码:
var app = angular.module('greeting', []);
app.controller('HelloCtrl', function($scope) {
$scope.name = 'Hello World';
});
感谢。
答案 0 :(得分:1)
'这'是指你的HelloCtrl的实例...... $ scope是一个完全不同的对象,已经获得状态并通过角度
进行管理答案 1 :(得分:1)
在视图中使用两种不同的实现。 此语法与控制器一起用作语法,这实际上使您的控制器成为视图模型。
控制器为例
在控制器中
this.text = "Controller as example"
在视图中
<div ng-controller="myCtrl as controllerViewModel">
{{controllerViewModel.text}}
</div>
范围等效
在控制器中
$scope.text = "Scope example";
在视图中
<div ng-controller="myCtrl">{{text}}</div>
以下是有关主题的一些有用链接
https://docs.angularjs.org/api/ng/directive/ngController
http://toddmotto.com/digging-into-angulars-controller-as-syntax/
https://thinkster.io/egghead/experimental-controller-as-syntax/