0

所以我有了通常的路由,但现在我想问我是否可以重定向到不同的页面,但在此之前我想调用一个函数。

这就是我到目前为止所拥有的。但它不能正常工作。

when('/person/remove/:Id', {
    resolve:  {
        delay: function ($q, $route, person) {
            var currentIndex = $route.current.params.Id;
            var brochure = person.get(currentIndex);
            person.remove(brochure);
        }
     },
     redirectTo: '/person'
})
4

2 回答 2

3

你确定你应该为此使用路线吗?我从您的示例中得知,删除 url 不应该显示任何内容,它应该只调用服务器然后重定向?如果是这种情况,那么您不应该使用 url 来删除记录。在您的 GUI 中单击将触发服务以在后台删除记录,并在完成后重定向。

因此,与其从 /person/123 转到 /person/123/remove 再到 /person,不如从 /person/123 转到 /person。删除是一项操作,不应在您的应用程序中由它自己的 URL 表示。

于 2013-02-25T20:15:30.310 回答
1

好吧,如果你有这样的事情......:

when('/person/remove/:Id', {
  resolve:  {
    delay: function ($q, $route, person, $location) {
      var currentIndex = $route.current.params.Id;
      var brochure = person.get(currentIndex);
      person.remove(brochure)
         .then(function(){ $location.path('/person'); });
    }
   }
})

...它会起作用,但它很臭而且不是“角度方式”。我的意思是,你可能不应该使用角度路线为你做这种事情。

于 2013-02-25T19:52:55.160 回答