gpt4 book ai didi

javascript - Ember 反序列化破坏 URL 为 null

转载 作者:行者123 更新时间:2023-11-30 18:13:58 25 4
gpt4 key购买 nike

我有一个用于帖子索引和显示操作的基本路由器。如果我导航到单个帖子,它会正确呈现页面并将 URL 设置为 /#/posts/foo。但是,如果我复制 URL 并将其粘贴到新选项卡中,它将加载页面,但 url 将更改为 /#/posts/null。除此之外页面呈现正确并且没有显示错误

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
})
});

最佳答案

你的路由应该是'/post/:post_id'而不是'post/:id'。参数名由模型名、下划线和属性名组成。

这样做你不需要序列化/反序列化方法,Ember.js 会为你完成这项工作

关于javascript - Ember 反序列化破坏 URL 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13812180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com