1. ホーム
  2. angularjs

[解決済み] resolve関数で$routeParamsが機能しない

2022-06-07 21:29:56

質問

私は この というテクニックを使ってデータを読み込んでいます。そこで、以下のような解決関数を作成しました。

NoteController.resolve = {
    note: function($routeParams, Note) {
         return Note.get($routeParams.key);
    }
}

問題点は $routeParams.keyundefined の瞬間に resolve 関数が実行されます。これは正しいのか、バグなのか?どうすれば直せますか?

どのように解決するのですか?

この場合 $route.current.params.key を使う必要があります。その $routeParams が更新されるのは の後に だけ更新されます。ですから、あなたのコードはこれらの線に沿ったものになるはずです。

NoteController.resolve = {
    note: function($route, Note) {
         return Note.get($route.current.params.key);
    }
}