我们制作的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控制器。