2013-02-25 4 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-адрес для удаления записи. в вашем графическом интерфейсе будет запускаться служба для удаления записи в фоновом режиме и перенаправления, когда это будет сделано.

Так что вместо того, чтобы переходить из/чел/123 в/чел/123/убрать, а затем/человек, вы просто перейдете от/чел/123 к/лицу. Удаление является действием и не должно быть представлено его собственным 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'); }); 
    } 
    } 
}) 

... это будет работать, но это довольно вонючие, а не в «Угловом пути» Я имею в виду, вы должны вероятно, не используйте угловые маршруты, чтобы делать такие вещи для вас.

Смежные вопросы