2013-02-25 91 views
0

所以我已經有了通常的路由選擇,但是現在我想問我是否可以重定向到不同的頁面,但在此之前我想調用一個函數。angularJS中的路由重定向

這就是我到目前爲止。但其工作不正常。

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' 
}) 

回答

3

你確定你應該使用這個路由嗎?我從你的例子中看出,刪除url不應該顯示任何東西,它應該只是調用服務器,然後重定向?如果是這種情況,那麼你不應該使用一個URL來刪除一條記錄在你的GUI中會觸發一個服務在後臺刪除記錄,並在完成後重定向。

因此,不是從/ person/123到/ person/123/remove然後/ person,而是從/ person/123到/ person。刪除是一個操作,不應該由您的應用程序中自己的URL代表。

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'); }); 
    } 
    } 
}) 

...它會工作,但它很臭,而不是在「角方式」我的意思是,你應該可能不會使用角度路線爲你做這種東西