将 Controller 与 ControllerAs 语法一起使用

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

使用 controller as someName 是从 $scope 本身分离控制器。因此,不需要在控制器中注入$ scope 作为依赖项。

传统方式:

// we are using $scope object.
app.controller('MyCtrl', function ($scope) {
  $scope.name = 'John';
});

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

现在,使用 controller as 语法

// we are using the "this" Object instead of "$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 中,我们做同样类型的事情。我们使用控制器作为实例化的语法。