0

我正在寻找使用 Angular 1.5 组件构建类似扩展折叠的东西。这个想法是你可以连续拥有一个或多个,或者你可以嵌套它们来创建一棵树。因此,有效的 html 可能如下所示:

<expand-collapse title="This is my title">
    <p>This is my content</p>
</expand-collapse>

或者

<expand-collapse title="Level 1 Title">
    <expand-collapse title="Level 2 Title">
        <p>This is my content</p>
    </expand-collapse>
</expand-collapse>

所以,我的问题是我是否可以使用Angular 1.5 组件(不是指令)以使 2 级展开折叠可以知道它的父展开折叠的方式来做到这一点。通常,当您嵌套这样的组件时,我认为您会拥有以下内容:

component('expandCollapse', {
    ...
    require : {
        parentCtrl : "^expandCollapse"
    }
    ...

但是 A) 在这种情况下不需要嵌套,并且 B) parentCtrl 最终成为对当前 $ctrl 的永无止境的递归引用。

这是可以用组件完成的吗?还是因为某种原因被明确禁止?

4

1 回答 1

0

我只看到两种方式:

  • 为需要先行级别的每个级别定义一个指令,这可能会导致不必要的代码。
  • 搜索使用角度函数:element.parent().controller('expand-collapse');。通常不推荐这种方法,但我没有看到比这更简单/更清洁的方法。
于 2016-11-04T15:43:39.877 回答