首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止角触发“父”元素上的onClick

防止角触发“父”元素上的onClick
EN

Stack Overflow用户
提问于 2017-07-07 19:41:32
回答 1查看 89关注 0票数 1

我有一个模板(摘录):

代码语言:javascript
复制
<custom-panel [summary]="summary.activity" routerLink="/activities">
  <a *ngIf="(user$ | async)?.verification.isOK" (click)="openQuestionModal()">Verify</a>
</custom-panel>

...and这个“组件”类:

代码语言:javascript
复制
// imports here

@Component({
  selector: 'custom-panel',
  templateUrl: './custom-panel.component.html',
  styleUrls: ['./custom-panel.component.scss']
})
export class CustomPanelComponent implements OnInit {
  public summary$: Observable<Summary>;
  public user$: Observable<User>;

  constructor(private service: UserService, private dialog: MdDialog) {
    // ...
  }

  public ngOnInit() {
    // Populate this.user$
    // Populate this.summary$
  }

  public openQuestionModal(): void {
    console.log('openQuestionModal() ...');
  }
}

问题是:每当我点击链接打开“问题模式”,它也带我到/activities路由(最后,模态对话框在那里打开)。

有什么办法可以防止这种情况发生吗?

到目前为止,我发现的唯一方法是拥有一个布尔“标志”,并将[routeLink]指令更新为:[routerLink]="isActive() ? '/activities' : null"。我想去掉那面“旗帜”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-07 19:49:49

你试过使用stopPropagation吗?

代码语言:javascript
复制
(click)="openQuestionModal($event)"

  public openQuestionModal(event): void {
    event.stopPropagation();
    console.log('openQuestionModal() ...');
  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44978551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档