簡體   English   中英

Angular:是否可以使用指令刪除模板事件“(點擊)”?

[英]Angular: Is possible to remove template event "(click)" with a directive?

我動態創建模板,我有一個指令來檢查用戶權限(基本上是讀和寫)

如果我的用戶只有“讀取”權限,是否可以刪除附加的點擊事件? 在此處輸入圖片說明

這是指令的代碼,我嘗試在指令中添加一個單擊偵聽器並停止指令內部的事件,但仍然觸發了單擊事件。

這是指令的代碼。 在此處輸入圖片說明

請在這里稍微改變你的邏輯。

首先,您可以根據需要擁有@Input() permissions: string[]

其次,在(click)事件中,不直接調用value.clickEvent() ,可以創建一個方法調用click,這里可以有if-else/switch-case條件來觸發或不觸發click事件。 它會幫助你。

組件.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();
   }
}

快樂編碼!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM