我开始学习AngularJS并尝试使用自定义指令。
我似乎无法让孩子阅读parentScope,根据角度记录,儿童可访问方法应父指令的控制器 定义 / strong>即可。 它看起来像是在运行更改指令,但我似乎无法访问父作用域(函数未根据chrome定义)。
提前感谢您提供任何帮助
答案 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);
};
您无法直接访问父作用域。