2013-04-09 47 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