2013-04-09 66 views
0

我有一個<layout>指令,它將包含多個<pane>元素。對父指令的要求依賴性

是否可以創建窗格指令,使其指令僅適用於在<layout>元素中找到的指令?

的文檔狀態:

要求 - 要求另一控制器傳遞到當前指令 鏈接功能。這個require需要一個指令控制器 的名字來傳入。如果沒有找到這樣的控制器,則會發生錯誤。

使用require: '^layout',當<pane>元素被發現<layout>元素的錯誤並拋出外,但DOM元素仍然轉化。該指令是否可以定義爲將其行爲限制在<layout>元素的範圍內?

如果我需要在<grid>元素中使用不同指令的其他窗格指令,該怎麼辦?

回答

1

這裏有一種方法(也許不是最好的方法)來做到這一點:確定你的layout指令的控制器,然後任選require^?layout指令。在你的鏈接功能,檢查,看看是否layoutCtrl定義:

require: '^?layout', 
link: function(scope, element, attrs, layoutCtrl) { 
    if(!layoutCtrl) return; // do nothing if no layout 

Fiddle