从角度不同模块访问控制器

时间:2015-05-21 11:27:59

标签: javascript angularjs angularjs-directive

我使用angular.layout库(https://github.com/angular-ui/ui-layout)。而且我想从指令手动制作面板。

lib里面的控制器:

...
angular.module('ui.layout', [])
  .controller('uiLayoutCtrl', ['$scope', '$attrs', '$element', 'LayoutContainer', function uiLayoutCtrl($scope, $attrs, $element, LayoutContainer)
...

此控制器包含方法ctrl.toggleAfterctrl.toggleBefore

所以,问题是:如何在我自己的指令中使用它。我试过这种方式:

...
return {
        require: 'uiLayoutCtrl',
        link: function(scope, element, attrs, ctrl) {
            ...
        }

    }
...

它没有用。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试使用指令而不是控制器:

require: 'uiLayout', // both directives in the same element // OR
//require: '^uiLayout' //  your directive is a child of uiLayout
link: function (scope, elm, attr, ctrl) {
    // ctrl should be uiLayoutCtrl
}