如何检测 Angular 中的路由变化?

2023-11-29

我正在寻找检测我的路线变化AppComponent.

此后,我将检查全局用户令牌以查看用户是否已登录,以便在用户未登录时可以重定向用户。


在 Angular 2 中你可以subscribe(Rx 事件)到 Router 实例。 所以你可以做类似的事情

class MyClass {
  constructor(private router: Router) {
    router.subscribe((val) => /*whatever*/)
  }
}

Edit(自 rc.1 起)

class MyClass {
  constructor(private router: Router) {
    router.changes.subscribe((val) => /*whatever*/)
  }
}

Edit 2(自 2.0.0 起)

也可以看看 :Router.events 文档

class MyClass {
  constructor(private router: Router) {
    router.events.subscribe((val) => {
        // see also 
        console.log(val instanceof NavigationEnd) 
    });
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测 Angular 中的路由变化? 的相关文章

随机推荐

  • 在没有 System.Windows.Forms 的情况下设置鼠标位置

    有没有办法在不使用 System Windows Forms Cursor 的情况下操纵鼠标位置 也许是互操作之类的东西 原因是我们使用的是专用的 NET 子集 它不能包含 System Windows Forms 糟糕 我的问题读得太快了
  • 同时使用 formattable 和plotly

    如果同时使用 formattable 和plotly 如果运行以下代码 则会出现错误 last plot 中的错误 最后一个图不存在 这是 Nico Katze 在评论部分中已经提到的问题http www magesblog com 201
  • Video.js jQuery 破坏 Firefox 中的视频播放/暂停功能

    我正在尝试使用 video js 来防止 Moodle 网站上的 mp4 视频快进 但允许快退 以下脚本适用于 Chrome 和 Opera 但不适用于 Firefox window onload function if iframe le
  • 将 /username 指向 /[user]/[tab].js 而不是 nextjs 中的 [user]/index.js

    我正在尝试创建一个用户个人资料页面 该页面根据当前的情况生成内容tab用户在 该选项卡是根据 URL 中传递的内容决定的 例如 username tab1 唯一的问题是用户可以访问的有效选项卡之一实际上具有空白值 username 获取默认
  • sparql 期望“where”、“using”之一

    我正在尝试在 Fuseki 服务器的 Web 界面中执行一个简单的插入查询 我已将端点设置为 update 而不是默认的 sparql 我有以下查询https www w3 org Submission SPARQL Update PREF
  • 无循环或条件地显示从 1 到 100 的数字 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 有没有一种方法可以打印从 1 到 100 的数字而不使用任何循环或条件
  • 为什么“getcontext().prec = 2”实际上没有设置它,以便 Decimal() 的使用达到两位小数?

    我正在编写一个处理货币值的程序 因此我希望它使用小数输出到小数点后两位 不幸的是 这不起作用 并且输出的数字更长 我在网上查了一下 但到目前为止 似乎没有针对这个特定问题的任何答案 以防程序的其余部分发生某些情况 我仅在基本数字上使用它运行
  • 如何完全抑制 Git Clone 输出?

    我正在写一个 shell 脚本 其中我正在做 log var tmp git prod test pack log out Time clone usr bin time f e git clone quiet ssh id xxxxxxx
  • 如何使 ASP.NET MVC 控制器方法异步

    我正在向各种 MVC 控制器发起多个 ajax 调用 以加载页面的不同部分 然而 当它到达控制器时 似乎一次只有一个运行 我猜这是因为默认情况下 ASP Net MVC 控制器是同步的 我还测试了在两个浏览器选项卡上加载页面 第二个选项卡始
  • CredStore执行查询错误

    我在对应用程序后端进行 API 调用时遇到问题 每个连接现在都会提示 CredStore performQuery Error copying matching creds Error 25300 query atyp http class
  • facebook $facebook->getSignedRequest();错误

    我正在尝试将此脚本添加到我在 facebook 上的 iframe 应用程序中 但它似乎不起作用 signed request facebook gt getSignedRequest like status signed request
  • 在play框架中填充html下拉列表[重复]

    这个问题在这里已经有答案了 可能的重复 在 Play Framework 2 0 模板中使用选项帮助器 正常的html代码
  • 纯Python逆误差函数

    有没有纯Python逆误差函数的实现 我知道 SciPy 有scipy special erfinv 但这依赖于一些 C 扩展 我想要一个纯 python 实现 我尝试使用自己编写维基百科 and Wolfram引用 但当 arg gt 0
  • Windows Phone 8 中的弹出窗口

    我想显示一个弹出窗口 其中媒体元素作为一个控件 当用户单击按钮时 我必须显示此弹出窗口 当用户单击设备的后退按钮时 应关闭弹出窗口 请帮助我如何在 Windows Phone 8 应用程序中执行此操作 带 MediaElement 的弹出窗
  • Wordpress 中的 Google 地图 API Javascript

    希望大家能够回答这个问题 我认为这应该相对容易 但我似乎无法掌握它 如何在 WordPress 帖子 页面中加载 Google Maps API Javascript WordPress Codex 似乎建议在主题标题中引用您的 javas
  • 计算十六进制字符串的二进制补码校验和

    我有一个字符串 0AAE0000463130004144430000 我需要计算组成该字符串的十六进制字节的二进制补码校验和 上面示例字符串的公式为 对值求和 0A AE 00 00 46 31 30 00 41 44 43 00 00 2
  • multiprocessing.Queue 作为池工作程序的参数中止工作程序的执行

    我实际上发现很难相信我遇到了我遇到的问题 这似乎是 python 多处理模块中的一个大错误 无论如何 我遇到的问题是每当我通过将 multiprocessing Queue 作为参数传递给 multiprocessing Pool 工作线程
  • Python get 获取矩阵中具有 na 值的邻居的平均值

    我有非常大的矩阵 所以不想通过遍历每一行和每一列来求和 a 1 2 3 3 4 5 5 6 7 def neighbors i j a return a i j 1 a i j 1 len a 0 a i 1 j a i 1 len a j
  • 处理 Rails 3 中的 has_one 嵌套资源

    我有一个用户模型和一个关于模型 关于模型是一个页面 用户可以在其中获得有关他们的更多信息 由于其性质 将其放在单独的模型上而不是在用户模型中更合适 我希望能够将其路由到 username about 之类的内容 并让所有动词在该路径上工作
  • 如何检测 Angular 中的路由变化?

    我正在寻找检测我的路线变化AppComponent 此后 我将检查全局用户令牌以查看用户是否已登录 以便在用户未登录时可以重定向用户 在 Angular 2 中你可以subscribe Rx 事件 到 Router 实例 所以你可以做类似的