1
子要素をクリックしても自分自身をクリックして反応させないようにするには、[routerLink]、の親要素は子要素は実行できません(click)="delete()"
の関数delete()
[routerLink]
では、親(それは/ /製品にナビゲート:id)を子要素に[routerLink]を適用しない方法は?
<div class="item">
<!-- parent element -->
<a [routerLink]="['/product/'+product.id]">
<div class="figure">
<div class="sides">
<div class="side">
<div class="card">
<img class="img" [src]="product.thumb">
<div class="content">
<div class="header">{{product.name}}</div>
<div class="meta"> <span>product.category</span> </div>
</div>
<div class="extraContent"> <span class="ui right floated black">
<!-- child element -->
<a (click)="delete()" ><i class="red trash outline icon"></i></a></span> <span><i class="deleteProductIcon"></i></span> </div>
<!-- child element -->
</div>
</div>
</div>
</div>
</a>
<!-- parent element -->
</div>
私が上div
に[routerLink]
を移動しようとしましたが、あなたの関数delete(中stopPropgation場合、それはまだ同じ行動
i番目の私はこの試み: '(イベント)を削除し、{ するevent.stopPropagation()。 アラート( 'deleted'); } アラート()はうまくいきましたが、それ以降は/ product /:にナビゲートしています。id – FlashCode
@FlashCode DOMを切り替えることはできますか?親要素のすべてをルータリンクにラップする必要がありますか?その要素(削除アイコン以外)の何かをクリックすると、新しいページに移動するのは奇妙なことです。私は削除アイコンと別のナビゲーションアイコンがあることを期待しています – LLai
ええ、あなたが正しいです私は削除アイコンをラップしない方法を見つける必要があり、他の人を維持する – FlashCode