【发布时间】:2014-04-22 01:43:57
【问题描述】:
AngularJS 指令使用以下方式指定控制器:
{
controller: function ($scope){}
}
到目前为止,我还没有找到一种方法可以创建 TypeScript 类并将其分配给指令的控制器属性。
我想做的事情是这样的
interface IDirectiveController{
myProperty:string;
}
class DirectiveController implements IDirectiveController{
static $injector = [$scope];
constructor ($scope:ng.IScope){
this.myProperty = 'default';
}
public myProperty:string;
}
var directive:ng.IDirective =
{
controller:DirectiveController;
}
return directive;
更好的是,如果可以使用工厂函数来创建和返回控制器的新实例,这将是很好的,类似于指令本身的实例化方式。
在我的指令模板中,我还想直接绑定到控制器,而不必将类的属性分配给 $scope。
另一种表述方式可能是说,我希望能够以类似于使用模板中可用的myController as ContollerType 语法分配控制器的方式将控制器分配给指令。
【问题讨论】:
标签: angularjs angularjs-directive typescript angularjs-controller