我有一個基本的路由器的帖子索引和顯示操作。如果我導航到單個帖子,它會正確呈現頁面並將URL設置爲/#/posts/foo
。但是,如果我複製URL並將其粘貼到新標籤中,它將加載頁面,但URL將更改爲/#/posts/null
。除此之外,在頁面呈現正確並且沒有錯誤顯示Ember反序列化破解URL爲空
show: Em.Route.extend({
route: "/post/:id",
serialize: function(router, context) {
return { id: context.get("id") };
},
deserialize: function(router, context) {
return App.get("store").find(App.Post, context.id);
},
connectOutlets: function(router, context) {
router.get("applicationController").connectOutlet("body", "post", context);
}
})
用一個簡單的模型
App.Post = DS.Model.extend({
id: DS.attr("string"),
title: DS.attr("string"),
content: DS.attr("string"),
image: DS.attr("string")
});
和日誌看起來是這樣的
STATEMANAGER: Entering root ember.js:17420
STATEMANAGER: Sending event 'navigateAway' to state root. ember.js:17172
STATEMANAGER: Sending event 'unroutePath' to state root. ember.js:17172
STATEMANAGER: Sending event 'routePath' to state root. ember.js:17172
STATEMANAGER: Entering root.show
和路由器
App.Store = DS.Store.extend({
revision: 4,
adapter: DS.RESTAdapter.create({
bulkCommit: false
})
});
我覺得你的'反序列化'函數工作不正常。不知道問題是什麼,但我會在稍後再回來。 – mehulkar