3 回答

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果您希望能夠?qū)⒋颂砑拥饺魏卧囟槐匾槐橛忠槐榈貜?fù)制/粘貼相同的代碼,則可以創(chuàng)建一條指令來執(zhí)行此操作。它很簡單,如下所示:
import {Directive, HostListener} from "@angular/core";
@Directive({
selector: "[click-stop-propagation]"
})
export class ClickStopPropagation
{
@HostListener("click", ["$event"])
public onClick(event: any): void
{
event.stopPropagation();
}
}
然后只需將其添加到所需的元素上即可:
<div click-stop-propagation>Stop Propagation</div>

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
最簡單的方法是在事件處理程序上調(diào)用停止傳播。$event在Angular 2中的工作原理相同,并包含進(jìn)行中的事件(通過鼠標(biāo)單擊,鼠標(biāo)事件等):
(click)="onEvent($event)"
在事件處理程序上,我們可以在那里停止傳播:
onEvent(event) {
event.stopPropagation();
}

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果您使用的是綁定到事件的方法,則只需返回false:
@Component({
(...)
template: `
<a href="/test.html" (click)="doSomething()">Test</a>
`
})
export class MyComp {
doSomething() {
(...)
return false;
}
}
- 3 回答
- 0 關(guān)注
- 617 瀏覽
添加回答
舉報(bào)