将 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 中,我们做同样类型的事情。我们使用控制器作为实例化的语法。