angular - 当我在引导程序中使用导航栏下拉菜单时,我在 Angular 中不能有多个点击事件
问题描述
我有一个标题组件。在标题组件中,我有一个名为 app-notification-message 的子组件。有淋浴的引导导航栏下拉菜单,因此单击它将使用列表元素切换下拉菜单。问题是当我单击带有类包装器的 div 时 - markAllMessagesAsSeenHandler 被执行但只执行一次。之后没有点击事件。为什么会出现这种情况,我该如何解决?
//header compo
<nav class="navbar navbar-expand-lg navbar-light bg-light dropup" *ngIf="userService.user">
<a class="navbar-brand" href="#"></a>
<div class="header-logo header-logo--img">
<img src="assets/img/ht-logo.svg" srcset="assets/img/ht-logo.svg" alt="Hedge Trade Sports Logo">
</div>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-placement="top"
data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav-custom">
<ng-container *ngIf="isTheUserAuthenticated; else elseif1">
<li class="nav-item"><a class="nav-link">Welcome {{ userService.user.alias }} ({{ userService.user.balance | currency }})</a></li>
<li class="nav-item">
<a class="nav-link" routerLink="/" routerLinkActive="active" [routerLinkActiveOptions]="{exact:true}">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" routerLink="/profile" routerLinkActive="active" [routerLinkActiveOptions]="{exact:true}">Profile</a>
</li>
<li class="nav-item" (click)="logoutHandler()">
<a class="nav-link main-nav__list-logout-link" [routerLinkActiveOptions]="{exact:true}"
routerLinkActive="active">Logout</a>
</li>
<app-notification-message></app-notification-message>
</ng-container>
</ul>
</div>
</nav>
//app-notification-message component
<div class="wrapper" (click)="markAllMessagesAsSeenHandler()">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
<svg role="img" class="dropdown-image">
<image width="24" height="24" xlink:href="assets/img/notification.svg" />
</svg>
<div class="notification-icon">
<span class="" [ngClass]= "(userService.user.unseen_notifications_no != 0) ? 'notification-icon__number-positive' : 'notification-icon__number-negative'">{{ userService.user.unseen_notifications_no }}</span>
</div>
<span class="up-icon">⌃</span>
</a>
</li>
</div>
解决方案
我使用导航链接下拉切换类删除了锚标记上的 (click)="markAllMessagesAsSeenHandler()"。然后它起作用了。
推荐阅读
- python-3.x - 在 AWS Lambda 中安装 Python 包?
- python - 我可以根据不同的配置文件实例化一个程序的多个实例吗?
- git - 如何在存储库中已经存在文件的情况下使用 Visual Studio Code 设置 github?
- c# - 使用 EPSON Scan“专业模式”设置进行扫描而不显示 UI
- sql-server - SQL,其中每个 id 的最后 n 条记录满足特定条件
- markdown - 我如何建议在降价中更改多行
- python - 将一张图片与文件夹中的多张图片配对
- ios - 日期选择器显示范围年份
- javascript - Javascript typeof 抛出参考错误
- bash - FFmpeg:管段到 s3