如何访问指令父范围

时间:2014-01-30 23:52:47

标签: javascript angularjs angularjs-directive

我开始学习AngularJS并尝试使用自定义指令。

我似乎无法让孩子阅读parentScope,根据角度记录,儿童可访问方法应父指令的控制器 定义 / strong>即可。 它看起来像是在运行更改指令,但我似乎无法访问父作用域(函数未根据chrome定义)。

提前感谢您提供任何帮助

plunker

1 个答案:

答案 0 :(得分:0)

那是因为你使用的是隔离范围(很好)。该语句将范围与其父

隔离开来
    scope: {
        key:'@',
        title:'@'
    },

只需将父控制器传递给子控件即可。

require: '?^parentDirective'
link: function(scope, element, attrs, parentCtrl) {
   scope.parentCtrl = parentCtrl;
}

然后在父控制器中修改你可以这样:

var self = this;

self.addColumn = function(data){
    $scope.columns.push(data);
};

您无法直接访问父作用域。