首页 > 解决方案 > 角度:如何从 url 获取参数

问题描述

我正在使用角度
我有这个路由器

{ path: 'inbox/:email',        component: InboxMessagesComponent  },

我正在尝试使用此代码获取电子邮件参数

this.email = this.route.snapshot.paramMap.get('email') ;

我的网址: http://localhost:4200/inbox/test@email.com?folder=INBOX
我得到的结果是这样的:

email: "test@email.com?folder=INBOX"

但我希望电子邮件应该只等于test@email.com
我在哪里有问题,我该如何解决这个问题?!

标签: angular

解决方案


您应该考虑始终使用 ObservableBehaviourSubject这是最好的方法

 this.route.params.subscribe((p) => {
    const email = p['email']||'';
})

这将在每次参数更改时起作用,然后电子邮件将使用实际值刷新。


推荐阅读