AngularJS模块:这与$ scope相比

时间:2014-11-04 17:27:33

标签: javascript angularjs scope angularjs-scope this

我是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';
});

感谢。

2 个答案:

答案 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/