页面刷新后URL序列化不起作用

时间:2012-12-10 14:44:48

标签: ember.js ember-old-router

我遇到了使用emberJS和路由器的问题。

我的路线架构如下:

    • 索引
    • 应用
        • 显示/:ID
        • 编辑/:ID

当我初步导航到显示/: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(不是我的项目)的元素

所以我想在页面刷新后我遗漏了一些序列化我的网址。

任何领导?

由于

1 个答案:

答案 0 :(得分:1)

此问题已在Emberjs async routing

中解决

解决方案是使用Deferred对象并实现加载状态。

希望有所帮助