根据先前的参数设置位置 $routeChangeError 使用角度 JS

Setting location based on previous parameter of $routeChangeError with AngularJS

本文关键字:routeChangeError JS 位置 设置 参数      更新时间:2023-09-26

我正在侦听应用程序运行块中的 $routeChangeError 类型的事件。

$rootScope.$on("$routeChangeError", function (event, current, previous, rejection) {
    if (!!previous) {
        console.log(previous);
        $location.path(previous.$$route.originalPath);
    }        
});

在上一个参数的帮助下,我想将位置设置为上一页。只要"previous.$$route"的"originalPath"不包含任何参数,这就可以工作。如果它包含参数,则不会转换"原始路径"。

记录前面的对象将返回以下输出:

$$route: Object
   ...
   originalPath: "/users/:id"
   regexp: /^'/users'/(?:([^'/]+)?)$/
   ...
   params: Object
      id: "3"

如何将位置设置为包括参数在内的上一个路径?

$route.previous.params 包含前一个路径的参数。