关闭滚动菜单当URL更改Angular 13

发布于 2025-02-08 07:20:06 字数 959 浏览 1 评论 0原文

对于我的Angular项目,我有一个下拉菜单供用户在他的个人资料上导航,我希望该下拉菜单在页面更改时关闭,我尝试使用naverof navigationstart,但我仍然没有找到问题,所以这里是我的基本代码:

header.component.ts

click: boolean = false
open: boolean = false;
currentUrl = this.router.url

constructor (private route: ActivatedRoute, private router: Router) {}

openMenu() {
  if(this.open === true){
    this.open = false
  }else {
    this.open = true
  }

}

和我的header.component.html

 <div (click)="openMenu()" class="circle">
    <img src="../../../../assets/avatar/Avatar-Donkey.png" alt="">
</div>
<div [ngClass]="open ? 'isOpen' : 'isClose'" class="scrolling-menu">
    <nav>
        <ul>
            <li> <a routerLink="private/dashboard">Mon profil</a> </li>
            <li> <a>Deconnexion</a> </li>
        </ul>
    </nav>
</div>

您对URL更改时如何处理关闭菜单有任何想法吗?谢谢

For my Angular project I have a drop down menu for the user to navigate on his profile and I would like this drop down menu to close when the page changes, I tried with instanceof NavigationStart but I still failed to find the problem so here is my basic code :

header.component.ts

click: boolean = false
open: boolean = false;
currentUrl = this.router.url

constructor (private route: ActivatedRoute, private router: Router) {}

openMenu() {
  if(this.open === true){
    this.open = false
  }else {
    this.open = true
  }

}

And my header.component.html

 <div (click)="openMenu()" class="circle">
    <img src="../../../../assets/avatar/Avatar-Donkey.png" alt="">
</div>
<div [ngClass]="open ? 'isOpen' : 'isClose'" class="scrolling-menu">
    <nav>
        <ul>
            <li> <a routerLink="private/dashboard">Mon profil</a> </li>
            <li> <a>Deconnexion</a> </li>
        </ul>
    </nav>
</div>

Do you have any idea on how can I handle the closing menu when the url change ? Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

枯寂 2025-02-15 07:20:06

收听下拉菜单上的点击事件

<div (click)="openMenu()" class="circle">
    <img src="../../../../assets/avatar/Avatar-Donkey.png" alt="">
</div>
<div [ngClass]="open ? 'isOpen' : 'isClose'" class="scrolling-menu">
    <nav>
        <ul>
            <li (click)="navigateToThePage('private/dashboard')"> 
    <a =>Mon profil</a> </li>
            <li> <a>Deconnexion</a> </li>
        </ul>
    </nav>
</div>

,然后在组件中

public openMenu(): void {
  this.open = this.open !== true;
}

public navigateToThePage(url: string): void {
    this.openMenu();
    this.router.navigate([url]);
}

Listen to click event on your dropdown items`

<div (click)="openMenu()" class="circle">
    <img src="../../../../assets/avatar/Avatar-Donkey.png" alt="">
</div>
<div [ngClass]="open ? 'isOpen' : 'isClose'" class="scrolling-menu">
    <nav>
        <ul>
            <li (click)="navigateToThePage('private/dashboard')"> 
    <a =>Mon profil</a> </li>
            <li> <a>Deconnexion</a> </li>
        </ul>
    </nav>
</div>

And then in your component`

public openMenu(): void {
  this.open = this.open !== true;
}

public navigateToThePage(url: string): void {
    this.openMenu();
    this.router.navigate([url]);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文