2014-01-30 167 views
0

我開始學習AngularJS並嘗試使用自定義指令。如何訪問指令父範圍

我不能似乎得到孩子讀parentScope,根據角文檔孩子入店方法應該定義父指令控制器內。 它看起來像修改指令正在運行,但我似乎無法訪問父範圍(功能未定義爲鉻)。

預先感謝任何幫助

plunker

+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); 
}; 

您沒有父範圍的直接訪問。

+0

嘗試在這兩個plunker和我的代碼和doesent似乎工作(我所做的唯一的變化是添加?在必需的屬性[]是我瞭解你) –

+0

不會這樣做,所以我只能有1在頁面中的父指令?(這在鏈接和控制器的評估窗口) –

+0

我正在修改我的帖子中嘗試再次與附加信息。 – Rob