0

我做了一个自定义attr directive,我将在兄弟元素中使用它,例如:

<div>
   <div [customAttrDirective]="'value'">1</div>
   <div [customAttrDirective]="'value'">2</div>
   <div [customAttrDirective]="'value'">3</div>
   <div [customAttrDirective]="'value'">4</div>
</div>   

我还做了一个service控制我所有指令的方法。在这里面我想知道我的指令的数量customAttrDirective

PS:我不能通过类名搜索来做到这一点(因为我在指令中添加了类),我不能通过属性(指令名)搜索来做到这一点,因为角度发生了变化。

编辑:将错误的 sintax 替换customAttrDirective="'value'"[customAttrDirective]="'value'"

非常感谢。

4

1 回答 1

3

假设您的自定义属性指令的类名是CustomAttrDirective,在您使用自定义指令的组件中,添加以下内容:

@ViewChildren(CustomAttrDirective) dirs: QueryList<CustomAttrDirective>

然后在生命周期中ngAfterViewInit,得到变量的长度dirs

于 2017-07-21T09:12:17.397 回答