0
當我導航到特定頁面時,我的序列化程序中的重寫函數normalizeResponse
與我的路由器model
函數中的代碼結合使用,將元數據添加到我的模型中,工作正常。基本上,normalizeResponse
先運行,然後我的model
功能在我的路由器中運行。ember normalizeResponse從鏈接導航到頁面時
serializers/application.js
import App from '../app';
import JSONAPISerializer from 'ember-data/serializers/json-api';
App.storeMeta = {};
export default JSONAPISerializer.extend({
normalizeResponse(store, primaryModelClass, payload){
App.storeMeta[primaryModelClass.modelName] = payload.meta;
return this._super(...arguments);
}
});
而且在我的模型。
import App from '../app'
...
model(params){
const data = {};
return this.store.findRecord('myModelType', params.id).then((myModelType)=>{
myModelType.meta = App.storeMeta['myModelType'];
return myModelType;
},()=>{ //error
this.get('session').invalidate();
});
}
當我通過從另一個頁面link-to
導航到特定頁面,該模型的代碼被稱爲第一,所以附着在模型中沒有元數據。
當從link-to
導航到model
函數時,我如何獲得normalizeResponse
函數?
任何幫助將不勝感激。
顯然,這似乎是一個多年來一直存在的問題。工作是做一個阿賈克斯電話並推送到商店? – user2517182