0
如何定義Sencha Touch模型以便從另一個模型繼承所有字段,添加一些自己的模型?Sencha Touch模型的繼承
這足以繼承模型中的所有領域:
Ext.define('MyApp.model.Foo', {
extend: 'MyApp.model.Bar'
});
但我怎麼可以添加新的領域?
如何定義Sencha Touch模型以便從另一個模型繼承所有字段,添加一些自己的模型?Sencha Touch模型的繼承
這足以繼承模型中的所有領域:
Ext.define('MyApp.model.Foo', {
extend: 'MyApp.model.Bar'
});
但我怎麼可以添加新的領域?
你可以試試這個:
Ext.define('MyApp.model.Person', {
extend: 'Ext.data.Model',
config: {
idProperty: 'Id',
fields: [{
name: 'Id'
}, {
name: 'firstName'
}, {
name: 'lastName'
}],
hasMany: [{
model: 'MyApp.model.Car'
}]
}
});
Ext.define("MyApp.model.Car", {
extend: 'Ext.data.Model',
config: {
idProperty: 'Id',
fields: [{
name: 'Id'
}, {
name: 'model'
}, {
name: 'make'
}, {
name: 'year'
}, {
name: 'personId'
}],
belongsTo: [{
model: 'MyApp.model.Person',
associationKey: 'personId'
}]
}
});
希望它會幫助你!
這不完全是我想達到的,但這是一個有趣的建議。如果沒有更好的答案,我可能會接受這個答案。 –
您是否嘗試過在繼承字段時會發生什麼情況?如果這不起作用,您可以克隆這些字段 - 基類的數組並在子類中擴展列表。但是'instanceof'將不起作用。 – hgoebl
沒有嘗試,但我沒有看到任何理由爲什麼父親的領域不應該被孩子忽略。你將如何/何時克隆和擴展?這正是我問的:) –
請嘗試它(將字段屬性添加到子類),如果它不起作用,我們會找到解決方法(通過克隆字段)。 – hgoebl