关于javascript:AngularJS模块:这与$ scope相对

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是一个完全不同的对象,它已经有了状态,并且通过角度管理