1
我有兩個模型:「身份」和「配置文件」。身份「belongsTo」個人資料。當我得到'身份'類型的記錄時,我想(通過該記錄)獲得記者檔案。我使用下面的代碼嘗試:屬於ExtJS模型
Ext.define('App.model.Identity', {
extend: 'Ext.data.Model',
fields: [
// ...
{name: 'id_profile', type: 'int'},
// ...
],
belongsTo: {
model: 'App.model.Profile',
primaryKey: 'id',
foreignKey: 'id_profile',
associatedName: 'Profile'
},
proxy: {
type: 'ajax',
api: {
read: App.Config.getBaseUrl() + '/admin_identity/list',
create: App.Config.getBaseUrl() + '/admin_identity/create',
update: App.Config.getBaseUrl() + '/admin_identity/update',
destroy: App.Config.getBaseUrl() + '/admin_identity/destroy'
},
reader: {
type: 'json',
root: 'data'
}
}
});
Ext.define('App.model.Profile', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
// ...
],
belongsTo: {
model: 'App.model.Identity',
primaryKey: 'id',
foreignKey: 'id_profile',
name: 'identities'
},
proxy: {
// ...
}
});
當我嘗試這樣做:
function viewProfile(identity) {
identity.getProfile(function(profile){
console.log(profile);
});
}
我得到的是一個空的配置文件的對象。奇怪的是,Identity類沒有做任何http請求來獲取配置文件。我這樣做對嗎?
在此先感謝
associatedName屬性用於生成getter和setter。這樣我可以調用'modelObject.getProfile'(最初,我需要調用get {modelname})。您提出的解決方案不起作用。回調不被調用。 –
我可以看到你的代理配置嗎?這裏是 –
。我只爲Identity模型添加了問題,Profile模型具有幾乎相同的代理。 App .. baseUrl是一個已定義的函數,僅用於幫助我處理URL。 –