AngularJS 将Controller与ControllerAs语法一起使用

示例

我们制作的Controller可以使用controller as语法实例化并使用。这是因为我们将变量直接放在控制器类上,而不是放在上$scope。

usingcontroller as someName是将控制器与$scope自身分离开的,因此不需要注入$scope作为控制器中的依赖项。

传统方式:

// 我们正在使用$scope对象。
app.controller('MyCtrl', function ($scope) {
  $scope.name = 'John';
});

<div ng-controller="MyCtrl">
  {{name}}
</div>

现在,使用 语法controller as

// we are using the "this" 对象而不是 "$scope"
app.controller('MyCtrl', function() {
 this.name= 'John';
});

<div ng-controller="MyCtrl as info">
  {{info.name}}
</div>

如果您在JavaScript中实例化“类”,则可以执行以下操作:

var jsClass = function () {
 this.name= 'John';
}
var jsObj = new jsClass();

因此,现在我们可以使用jsObj实例访问的任何方法或属性jsClass

在angular中,我们thing.we使用与实例化语法相同类型的use控制器。