Parametrise控制器可以在不同的指令

时间:2016-06-08 13:15:44

标签: angularjs

我需要在angularJS中使用几个不同的指令。指令具有不同的模板,控制器应以非常相似的方式工作,彼此之间的变化非常小。

我正在考虑只使用一个共享控制器,使其行为适应它所包含的指令,就像代码中描述的那样:

var module = angular.module('app', []);

module.directive('myFirstDirective', function () {
    return {
        scope: {},
        controller: 'MyController',
        templateUrl: './directives/first.html'
    };
});

module.directive('mySecondDirective', function () {
    return {
        scope: {},
        controller: 'MyController',
        templateUrl: './directives/second.html'
    };
});
module.controller('MyController', function ($scope) {
    $scope.myEvent = function () {
        //if it's first directive do this
        //if it's second directive do that
    };
});

有角度的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以在指令中使用ng-init="callback1()"ng-init="callback2()"。并描述控制器中的两个回调。