在我的指令中有一个isOpen()
函数,它将菜单的状态返回为boolean
值。
/**
* Checks if the dropdown menu is open or not.
*/
isOpen(): boolean;
根据此情况,主机的css类会发生变化。如果我在@Directive
装饰器上使用包含主机元数据的拼写,则在更改状态时将正确更新css类。
host: {
'[class.show]': 'isOpen()'
}
但是,如果我在类中使用HostBinding
的拼写,则css类不再更改。
@HostBinding('class.show') isShown: boolean = this.isOpen();
除了更改与主机的绑定外,其他一切都是相同的。如何让主机的css类使用HostListener方法更新自己?
编辑: 将问题放入上下文中:它是一个自定义指令,继承自Ngbdropdown