【问题标题】:require parent directive's controller, when parent directive is not known当父指令未知时,需要父指令的控制器
【发布时间】:2014-11-25 09:30:02
【问题描述】:

我正在用 Angular.js 编写一个网格系统,如下所示:

<grid>
  <data-row>
    <cell>
    </cell>
  </data-row>

  ....

  <group-row>
    <cell>
    </cell>
  </group-row>
</grid>

我需要到达单元格内的行控制器,但正如你所见,有多种行,所以我不能在单元格指令中写这个:

return {
  ...
  require: '^row'
}

您能否提出某种解决方案来引用通用父指令的控制器?

【问题讨论】:

标签: angularjs angularjs-directive


【解决方案1】:

所以,有两个选择。

1) 有一个 row 元素指令,然后用 row-type 属性指令装饰它。然后,您将require将该行输入到您的单元格和您的行型装饰器中。

<grid>
  <row row-type="data">
    <cell>
    </cell>
  </row>

  ....

  <row row-type="group">
    <cell>
    </cell>
  </row>
</grid>

2) 让你的单元格指令需要多个可选的父级 -

return {
   ...
   require: ["?data-row", "?group-row"],
   ...
}

并根据其中一个或另一个的存在与否来处理单元格链接功能中的不同逻辑。这对我来说有点脏,但可以满足您的需求。

【讨论】:

    猜你喜欢
    • 2013-03-15
    • 2014-04-30
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    相关资源
    最近更新 更多