我正在尝试实现一个DropdownComponent
,这将允许一个嵌入的按钮(或任何其他合适的元素或 Angular 组件)触发下拉,以及一个嵌入的 div 用于需要在下拉列表中显示的内容。该组件的用法如下,
<dropdown>
<button origin>drop</button>
<div content>
<!-- some content -->
</div>
</dropdown>
DropdownComponent
我需要在绑定自定义 css 类中获取对该按钮的引用。
我可以在上面的代码中添加一个 css 类,如下所示,并使用getElementsByClassName()
.
<dropdown>
<button origin class="dropdown-origin">drop</button>
<div content>
<!-- some content -->
</div>
</dropdown>
但是,为了提供更简单的用法,DropdownComponent
我想使用origin
用于嵌入内容的属性来获取对按钮的引用。像这样的东西,
@ContentChild('[origin]') origin;
有没有办法做到这一点?还是有更好的方法来做到这一点?
注意:我的下拉 html 如下,
<ng-content select="[origin]"></ng-content>
<div class="dropdown-content">
<ng-content select="[content]"></ng-content>
</div>