如何在Typecript中的角度指令类中添加控制器

时间:2015-12-12 23:35:01

标签: javascript angularjs typescript angular-directive angular-controller

以下是我到目前为止写的打字稿中的角度指令类:

我的问题是如何为此指令添加控制器。我不想创建新的控制器类并将该控制器与控制器绑定。我想编写控制器并在typescript中将指令类中的ISOLATE SCOPE注入

    module Sheet.Directive{
    class InputControl implements ng.IDirective {
    restrict = 'A';
    //require = 'ngModel';
    templateUrl = "../Templates/inputcontrol.html";



    constructor(private $location: ng.ILocationService) {
    }

    link = (scope: ng.IScope, element: ng.IAugmentedJQuery, attrs: ng.IAttributes, ctrl: any) => {
        console.log(this.$location);
    };

    static factory(): ng.IDirectiveFactory {
        const directive = ($location: ng.ILocationService) => new InputControl($location);
        directive.$inject = ['$location'];
        return directive;
    }
}

angular.module("SheetApp").directive("inputControl", InputControl.factory());
}

1 个答案:

答案 0 :(得分:1)

您实际上可以声明将返回控制器功能的属性group,例如:

controller

以下是Plunker中的示例:http://plnkr.co/edit/j4coAAZ207RHyGsqFPgC(我使用了export class App { restrict='E'; templateUrl='src/app.html'; scope = { a : '@' } controller = ['$scope',($scope) => { console.log("this this controller",$scope.a); }]; } 技巧来更方便地声明指令。