【发布时间】:2023-03-23 14:05:01
【问题描述】:
我动态创建模板,我有一个指令将检查用户权限(基本上是读写)。
这是指令的代码,我尝试在指令中添加点击监听器并停止指令内部的事件,但仍然触发了点击事件。
【问题讨论】:
-
你能把问题中的代码作为文本而不是图像吗?
标签: angular listener angular-directive
我动态创建模板,我有一个指令将检查用户权限(基本上是读写)。
这是指令的代码,我尝试在指令中添加点击监听器并停止指令内部的事件,但仍然触发了点击事件。
【问题讨论】:
标签: angular listener angular-directive
请稍微改变一下你的逻辑。
首先,您可以随意拥有@Input() permissions: string[]。
其次,在(click)事件中,可以创建一个方法调用click,而不是直接调用value.clickEvent(),在这里可以有一个if-else/switch-case条件来触发或不触发click事件。它会帮助你。
component.html
<button (click)="handleClick()"></button>
组件.ts
// adding new function
handleClick(): void {
const canRead = this.permissions.some(per => per === 'read');
if (canRead === false) {
this.value.clickEvent();
}
}
编码愉快!
【讨论】: