emberJSとルーターで問題が発生しています。
私のルートアーキテクチャは以下のものです:
- 根
- 索引
- アプリ
- 家
- アイテム
- display /:id
- edit /:id
最初にdisplay/:idに移動すると、URLは次のように適切に記述されています。
localhost/#/app/item/display/da083d21-afab-4620-8a85-6a4e6bfb95b9
次に、ブラウザの更新ボタンを押すと、URLは次のように書き込まれます。
localhost/#/app/item/display/undefined
シリアル化/逆シリアル化を処理するために、ルートに次の関数があります
deserialize: function(router, context) {
return App.Item.find(context.id);
},
serialize: function(router, context){
return { id: context.id };
}
シリアル化で渡されたコンテキストをログに記録すると:
- 更新前:適切な項目に設定されています
- 更新後:IDを含まない要素(私のアイテムではない)に設定されます
したがって、ページの更新後にURLをシリアル化するための何かが不足していると思います。
リードはありますか?
ありがとう