我有一个我一直在研究的MVC应用程序,但我似乎缺少一些名称空间和正确访问对象的基础知识。我不明白在调用索引方法时如何加载我的商店。在我的模型中,自动加载是错误的,我使用的是我在其他应用程序(非MVC)中使用的相同代码,但无济于事。有什么想法吗?
这是我的app.js:
Ext.regApplication({
name: 'MVC',
defaultUrl: 'Home/index',
launch: function(){
console.log("Launching");
this.viewport = new MVC.views.Viewport();
}
});
这是我的控制者:
Ext.regController('Update', {
// index action
index: function(){
if(networkStatus()==true){
console.log("Checking for Updated Config: " + CONFIG_URL);
MVC.stores.Updates.load();//Uncaught TypeError: Cannot read property 'Updates' of undefined
}
if ( ! this.indexView){
this.indexView = this.render({
xtype: 'UpdateIndex',
});
}
this.application.viewport.setActiveItem(this.indexView);
},
});
这是我的模特:
Ext.regModel('UpdateModel', {
fields: [
{name: 'id'},
{name: 'version'},
{name: 'date'},
{name: 'md5'},
{name: 'manifest-doc'},
{name: 'manifest-image'}
]
});
这是我的商店:
Ext.regStore('Updates', {
model: 'UpdateModel',
storeId: 'Updates',
autoLoad: false,
proxy: {
type: 'ajax',
url: 'app/data/config.min.json',
reader: new Ext.data.JsonReader({
root: 'config',
}),
timeout: 6000,
listeners: {
exception:function () {
console.log("Update Failed");
}
}
}
});
答案 0 :(得分:2)
尝试
var updatesStore = Ext.getStore("Updates");
答案 1 :(得分:0)
什么是MVC
?它应该是应用程序的名称,即
Ext.regApplication({
name: 'MVC',