如何保持数据刷新页面?

How to keep the data on refresh a page?

我正在从模型中获取数据。模型集成到页面后,当我刷新页面时,数据消失了。

我想防止数据仍在刷新。在 EmberJs 中执行此操作的正确方法是什么?有人告诉我防止我的 data 刷新的正确方法吗?

我的型号代码:

export default Ember.Route.extend({
  model: function(params) {
    return this.store.peekRecord('card-list', params.id ); //works
  }
});

提前致谢。

更新

    import Ember from 'ember';

    export default Ember.Route.extend({
      model: function(params) {

        if(this.store.hasRecordForId('card-list', params.id)){
            return Ember.RSVP.hash({
                model: this.store.peekRecord('card-list', params.id ) 
            })
        }
    //I am trying for refresh. but throws error as
//Error while processing route: cs2i.balance.balanceEdit Ember Data Request GET /api/card-lists/4196074912005007 returned a 404
        return Ember.RSVP.hash({
            model: this.store.findRecord('card-list', params.id ) 
        })
      }
    });

您可以检查现有记录,除非获取它。

export default Ember.Route.extend({
  model: function(params) {
    if(this.store.hasRecordForId('card-list', params.id))
      return this.store.peekRecord('card-list', params.id );
    return this.store.findRecord('card-list', params.id );
  }
});

您必须是 'peeking' 父路由的记录,该父路由使用 query 或 findRecord 或 findAll 等获取记录...所以 - 您的数据是 'goes away' 的原因可能有很多。 .

如果你在某个东西的子路线中......那个peekRecord与'peek'无关......所以,你必须检查记录...或获取 modelFor('model-name') - 从父路由... - 因此,您需要提供有关代码上下文的更多信息。

// imports whatevers...
model(parameters) {
  return this.store.findRecord('thing', parameter.id);
}

或....

model() {
  var x = this.modelFor('parentModel');
  // do something with x... query... find etc...
}