2017-08-08 250 views
1

我從模型中獲取數據。在模型集成到頁面之後,當我刷新頁面時,數據就會消失。如何保持數據刷新頁面?

我想阻止數據刷新。在EmberJs中有什麼正確的方法可以讓我看到正確的方法來防止我的data刷新?

我的模型代碼:

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

在此先感謝。

UPDATE

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

RSVP.hash記錄添加到模型......等等 - 有「樣板」的關鍵似乎是一個壞主意。 – sheriffderek

+0

好的,會改變這一點。但是,從子路徑刷新數據的正確方法 – 3gwebtrain

+0

在孩子....你需要一個參數 - 通常來自url - 填充動態段 - 然後findRecord與它的ID或slu etc.等。 - 但如果你只是抓住一件事......你不應該在這裏使用RSVP – sheriffderek

回答

1

您可以檢查現有的記錄,除非是獲取。

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

不工作,出現錯誤。請參閱我的更新問題 – 3gwebtrain

+0

@ 3gwebtrain你會得到什麼錯誤? –

+0

//我正在嘗試刷新。但引發錯誤爲 //處理路由時出錯:cs2i.balance.balanceEdit Ember數據請求GET/api/card-lists/4196074912005007返回404 – 3gwebtrain

1

你必須是「偷看」的,其獲取與查詢或findRecord或的findAll等記錄父路徑的記錄...等等 - 可能有許多原因,你的數據是「消失」 ...

如果你是在一些孩子沒有路線...這peekRecord無關「偷看」 ......所以,你必須檢查記錄...或獲取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... 
} 
+0

我試圖只從兒童路線獲取數據。就像Ebrahim暗示的那樣,我通過獲取錯誤來嘗試。更新問題 – 3gwebtrain

+0

重要的是,我們同意進入申請路線......然後是父母......然後是孩子 - 所以,模型正在被添加到總體背景中......但是孩子知道它是什麼動態的段是 - 通常是問題。 – sheriffderek