页面刷新后数据丢失

Data missing after page refresh

本文关键字:数据 刷新      更新时间:2023-09-26

路线:

App.Router.map(function()
{
    this.resource("login", { path: "/login"});
    this.resource("contacts", { path: "/contacts"}, function ()
    {
        this.resource("contact", { path: ":contact_id"}, function()
        {
            this.route("new");
            this.route("edit");
        });     
    });
});
App.ContactsIndexRoute = App.AuthenticatedRoute.extend(
{
    model: function()
    {
        return  App.Contact.find();
    }
});
App.ContactIndexRoute = App.AuthenticatedRoute.extend(
{
    model: function()
    {
        return this.modelFor("contact");
    },
    setupController: function(controller, model)
    {
        controller.set("content", model);
    }
});

控制器:

App.ContactsIndexController = Ember.ArrayController.extend(
{
    setProperties: ['full_name']
});
App.ContactEditControllerr = Ember.ObjectController.extend(
{
});
App.ContactIndexController = Ember.ObjectController.extend(
{
});

当我转到#/contacts时,我会从服务器上获得联系人的完整列表。如果我转到#/contacts/1,我会得到所有的数据,但如果我刷新该页面,数据就不见了,我只剩下空白的HTML。问题是如何在嵌套资源中保留模型,以便在页面刷新后将其保留在那里?

我已经模拟了这个问题,您的代码也能正常工作。即使使用休息适配器。

http://jsbin.com/ucanam/669#/contacts/1

我认为您的问题是返回的json。它必须匹配以下内容:

Several resources

获取/联系人
状态:200

{联系人:[{id:1,full_name:'Tom dale'},{id:2,全名:'Yehuda Katz'}]}

Unique resource

获取/联系人/1
状态:200

{联系人:{id:1,full_name:'Tom dale'}}

可能是在查询数据源中的单个记录时出现了一些问题。尝试在基本路由中加载联系人,以便在联系人和联系人上都调用它。

App.ContactsRoute = App.AuthenticatedRoute.extend({
  model: function() {
    return  App.Contact.find();
  }
});