如果您看到该代码,您会注意到我将template
属性设置为{{$.aaa}}
。有没有办法避免在变量之前使用controllerAs
前缀并使用{{aaa}}
形式的模板?
(function(){
"use strict";
class Controller {
constructor(){
this.aaa = 111;
}
doSomething(){
alert(this.aaa)
}
}
var app = angular.module('app', []);
app.directive('any', function() {
return {
restrict: 'E',
controller: Controller,
controllerAs: '$',
template: '{{$.aaa}}'
};
});
})();
答案 0 :(得分:0)
将$ scope注入您的控制器构造函数,然后将您的属性附加到范围。
class Controller {
static $inject = ["$scope"];
constructor($scope) {
$scope.aaa = "value";
}
}
并且:
app.directive('any', function() {
return {
restrict: 'E',
controller: Controller,
template: '{{aaa}}'
};
});