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 に答える