如何观看/触发路由变更事件?

推荐答案

Note:对于遗留版本的AngularJS来说,这是一个合适的答案.有关更新版本,请参阅this question.

$scope.$on('$routeChangeStart', function($event, next, current) { 
   // ... you could trigger something here ...
 });

以下事件也可用(它们的回调函数采用不同的参数):

  • $routeChangeSuccess
  • $routeChangeError
  • $routeUpdate - if reloadOnSearch property has been set to false

See the $route docs.

还有另外两个undocumented项活动:

  • $locationChangeStart
  • $locationChangeSuccess

See What's the difference between $locationChangeSuccess and $locationChangeStart?

Javascript相关问答推荐

使用reaction创建可排序的表不起作用

如何用变量productId替换 1"

HTML/JavaScript函数未执行

更新Reduxstore 中的状态变量,导致整个应用程序出现不必要的重新渲染

在HTML中使用脚本变量作为背景图像源

为什么使用MAX_SAFE_INTEGER生成随机整数时数字分布不准确?

通过实现regex逻辑自定义数据表搜索

字节数组通过echo框架传输到JS blob

类型自定义lazy Promise. all

react—router v6:路由没有路径

我们如何从一个行动中分派行动

实现JS代码更改CSS元素

保持物品顺序的可变大小物品分配到平衡组的算法

Angular 中的类型错误上不存在获取属性

Angular 订阅部分相互依赖并返回数组多个异步Http调用

在运行时使用Next JS App Router在服务器组件中运行自定义函数

对路由DOM嵌套路由作出react

如何在 Select 文本时停止Click事件?

对具有相似属性的对象数组进行分组,并使用串连的值获得结果

如何通过Axios在GraphQL查询中发送数组