亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查傳遞的元素是否被類 Angular 8 封裝

檢查傳遞的元素是否被類 Angular 8 封裝

郎朗坤 2022-06-16 14:50:49
我似乎找不到我的問題的答案或正確的角度方式來做到這一點。我理解這部分是主觀的。我有一個可點擊的元素。在該元素內,我還有另一個可點擊的元素:    <li (click)="route($event, d, d.isdliked)" *ngFor="let d of dList; let i = index">        <div class="image-container" [ngStyle]="{ 'background-image': 'url(' + d.ImagePath + ')'}">            <div class="keep-container">                <div *ngIf="d.dliked" (click)="cantKeep()" class="liked">                    <p>{{d.dLikes}}</p>                </div>                <div *ngIf="!d.dliked" (click)="keep(d, i)" class="not-liked">                    <p>{{d.dLikes}}</p>                </div>            </div>        </div>    </li>所以 li 元素中的第一次點擊事件會將用戶路由到另一個頁面。另一個單擊事件不會路由到任何地方。但是,如果我點擊這兩個內部點擊事件,當我不想這樣做時,我會被路由到我的另一個頁面。所以我嘗試了這段代碼來檢查被點擊的元素是否包含類“keep-container”:  route(element: Element, d: D, dIsLiked: boolean): void {    if (!element.classList.contains("keep-container")) {      this.router.navigate(['/dinfo']);    }  }但這不起作用。我當然嘗試過element.target,但沒有奏效。我究竟做錯了什么?我會繼續尋找。主要目標:如果我點擊 p 標簽 <p>{{d.dLikes}}</p>,我想檢查它是否在類內"keep-container"
查看完整描述

1 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

就像$event.stopPropagation()通常在 javascript 中一樣使用


<div *ngIf="d.dliked" (click)="$event.stopPropagation();cantKeep()">...</div>

好吧,我喜歡在同一個 .html 中,您可以將 $event 傳遞給函數 cantKeep 并在 .ts 中進行 stopPropagation


<div *ngIf="d.dliked" (click)="cantKeep($event)">...</div>


cantKeep(event)

{

  event.stopPropagation();

  ...rest of actions..

}


查看完整回答
反對 回復 2022-06-16
  • 1 回答
  • 0 關注
  • 88 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號