我是动态创建模板的,我有一条指令可以检查用户权限(基本上是读写)。
如果我的用户仅具有“读取”权限,是否可以删除附加的单击事件?
这是指令的代码,我尝试在指令中添加click侦听器并停止指令内部的事件,但是click事件仍然被触发。
答案 0 :(得分:0)
请在这里稍微改变一下逻辑。
首先,您可以根据需要设置@Input() permissions: string[]
。
第二,在(单击)事件中,可以直接创建方法调用click,而不是直接调用value.clickEvent()
,并且可以在此处具有if-else / switch-case条件来触发click事件或不。它会为您提供帮助。
component.html
<button (click)="handleClick()"></button>
component.ts
// adding new function
handleClick(): void {
const canRead = this.permissions.some(per => per === 'read');
if (canRead === false) {
this.value.clickEvent();
}
}
编码愉快!