gpt4 book ai didi

AngularJS 和 typescript : How to assign a class/type as a directive's controller?

转载 作者:搜寻专家 更新时间:2023-10-30 21:20:42 26 4
gpt4 key购买 nike

AngularJS 指令指定 Controller 使用:

{
controller: function ($scope){}
}

到目前为止,我还没有找到可以创建 TypeScript 类并将其分配给指令的 Controller 属性的方法。

我想做的是类似

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;

更好的是,如果可以使用一个工厂函数让我创建并返回 Controller 的一个新实例,那就太好了,类似于指令本身的实例化方式。

在我的指令模板中,我还想直接绑定(bind)到 Controller ,而不必将类的属性分配给 $scope。

另一种表述方式可能是说,我希望能够以类似于使用 myController as ContollerType 语法分配 Controller 的方式将 Controller 分配给指令,该语法在模板。

最佳答案

我相信你可以在你的指令中做这样的事情:

...
controller: DirectiveController,
controllerAs: 'myCtrl'
...

然后 Angular 应该用它的构造函数实例化你的类,你可以在模板中使用 myCtrl

引用它

关于AngularJS 和 typescript : How to assign a class/type as a directive's controller?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22444437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com