在Angularjs指令中访问父级和自控制器

时间:2016-01-11 07:26:51

标签: angularjs angularjs-directive

我跟随fiddle我正在使用angular指令的require属性来访问父控制器。现在我想在组件指令的link函数中访问父控制器和自控制器。

<div ng-controller="MyCtrl">
  <div screen>
    <div component>
    </div>
</div>
</div> 

是否可以在postlink指令函数

中访问self和parent指令控制器

2 个答案:

答案 0 :(得分:1)

找到了解决方案。我只需要在指令定义对象的require属性数组中提到相同的指令名称。 FIDDLE

.directive('component', function() {
    return {
        scope: true,
        require: ['component','^screen'],
        controller: function($scope) {
            this.componentFunction = function() {
                $scope.screenCtrl.doSomethingScreeny();
            }
        },
        link: function(scope, element, attrs, screenCtrl ) {
            scope.screenCtrl = screenCtrl
            console.log(screenCtrl);
        }
    }
})

答案 1 :(得分:0)

我想你想要做的是从控制器向你的指令注入范围对象。因此,您可以将指令定义为

TextView