我在模型文件夹中的Sencha Touch中创建了一个非常简单的模型:
Ext.define('Vegetable',{
extend:'Ext.data.Model',
config:{
fields:
[
{name:'title', type:'string'}
]
}
});
当我尝试在Main.js文件中引用模型时,它表示该模型不存在。
items: [
{
xtype:'list',
title:'Home',
iconCls:'home',
store:{
model:'**VegetableTreeSenchaTouch.model.Vegetable**',
proxy:{
type:'ajax',
url:'http://vegetablegardening.com/vegetable/catalog/23',
reader:{
type:'json',
}
},
autoLoad:true
}
}
]
}
更新:app.js
views:['Main'],
stores:['Vegetables'],
models:['Vegetable'],
更新:蔬菜(商店)
Ext.define('VegetableTreeSenchaTouch.store.Vegetables',{
extends:'Ext.data.Store',
config:{
model:'VegetableTreeSenchaTouch.model.Vegetable',
data:[
{ title: 'Onion' },
{ title: 'Potato' }
]
}
});
有什么想法吗?
答案 0 :(得分:0)
在商店中定义代理:
Ext.define('VegetableTreeSenchaTouch.store.Vegetables', {
extend: 'Ext.data.Store',
config: {
model: 'VegetableTreeSenchaTouch.model.Vegetable',
proxy: {
type: 'ajax',
url: 'http://vegetablegardening.com/vegetable/catalog/23',
reader: {
type: 'json',
}
}
},
//...
});
并使用商店的实例:
{
xtype: 'list',
title: 'Home',
iconCls: 'home',
store: 'Vegetables'
}
答案 1 :(得分:0)
尝试使用扩展名命名商店和模型。
Ext.define('VegetableTreeSenchaTouch.model.Vegetable',{
extend:'Ext.data.Model',
和
Ext.define('VegetableTreeSenchaTouch.store.Vegetables',{
extends:'Ext.data.Store',
config:{
model:'VegetableTreeSenchaTouch.model.Vegetable',
data:[
{ title: 'Onion' },
{ title: 'Potato' }
]
}
});
不确定这是否是问题,但我总是如何命名我的模型/商店以确保它们被正确引用。