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