我有两个商店及其相应的型号......
民意调查模式
Ext.define('PollsTest.model.Poll', {
extend: 'Ext.data.Model',
xtype : 'poll',
requires: [
'Ext.data.identifier.Uuid'
],
config: {
fields: [
{ name: 'title'},
{ name: 'uri' },
],
identifier: {
type: 'uuid'
},
hasMany :
[
{
model : 'PollsTest.model.Choice',
name : 'Choices',
primaryKey : 'title',
foreignKey : 'title',
foreignStore : 'Choices'
}
]
}
});
选择模型
Ext.define('PollsTest.model.Choice', {
extend: 'Ext.data.Model',
requires: [
'Ext.data.identifier.Uuid'
],
config: {
fields: [
{ name: 'choice', type: 'auto' },
{ name: 'votes', type: 'auto' },
{name : 'title', type: 'auto'},
{name : 'uri', type : 'auto'}
],
identifier: {
type: 'uuid'
},
belongsTo : {
model : 'PollsTest.model.Poll',
name : 'Choices',
primaryKey : 'title',
foreignKey : 'title',
foreignStore : 'Choices',
getterName: 'getChoice',
setterName: 'setChoice'
}
}
});
我必须以这样的方式在我的模板中显示,
'<p>{title} <br> choices : {uri}<br></p>',
'<tpl for "choices">',
'<p> {Choice.choice} <br></p>',
'</tpl>',
现在我没有收到任何错误,但选择没有显示在模板中。 模板是不在列表中的面板。
任何想法都将受到赞赏
答案 0 :(得分:0)
您必须通过操纵两个存储来创建单个对象,然后该对象可用于在模板中呈现数据。我不确定是否还有其他方法可以做到这一点。
答案 1 :(得分:0)
我建议使用DataView,并学习如何使用XTemplates。
这可以通过使用XTemplate自定义帮助函数来实现,假设数据已经加入或者不需要某种异步调用。