我使用的是ember 2.7.0.while手動刷新頁面餘燼清除餘燼數據以及我們的查詢參數,所以我無法在刷新時在setupController中加載頁面。是否有任何可能的方式保留模型&查詢參數,至少保留查詢參數將罰款重新加載我的網頁。Ember如何在手動刷新頁面時保留查詢參數?
route.js
model(params) {
return this.store.peekRecord("book",params.book_id);
},
setupController(controller,model,params){
if(!model){
//fetch book record again if the model is null
}
controller.set('isdn',params.queryParams.isdn);
controller.set('book',model);
}
任何幫助應該是明顯的。
編輯setupController按照亞當·庫珀評論:
setupController(controller,model,params){
var isdn = params.queryParams.msisdn;
controller.set('isdn',isdn);
if(!model){
this.store.findRecord('book', isdn).then((customer) => {
this.set('book',customer);
},(resp,status) => {
this.set('errorMessage', `Book with this ${isdn} does not exist.`);
this.set('book', []);
});
}else{
controller.set('device',model);
}
}
頁被「findRecord」返回promise.Is有什麼辦法可以阻止網頁渲染,直至找到記錄解析的承諾之前渲染?
https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem你可以使用localStorage? LocalForage可能更適合您的需求,因爲它增加了靈活性並能夠存儲不同的數據類型。 –
除了localStorage之外,還有其他的選擇嗎?我們有沒有任何監聽器可以在燼中刷新事件? – VelNaga
對不起@velNaga,我不是Ember用戶。 –