使用AngularJS根据$ routeChangeError的先前参数设置位置

时间:2013-10-25 19:25:09

标签: javascript angularjs

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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