Sencha Touch Kitchensink app"克隆" - 未找到模型

时间:2014-03-19 22:35:48

标签: extjs sencha-touch-2

我尝试将 Kitchen Sink -Sencha 应用程序中的Speakers示例克隆到我自己的应用程序中。 我复制了模型(Speaker.js),商店(Speakers.js),视图(BasicDataView.js),Feed(feed.js) 并将类路径的第一个元素的名称从 Kitchen Sink 更改为 MyFirstApp

我的app.js如下所示:

Ext.Loader.setConfig({
    enabled: true
});

Ext.application({
    name: 'MyFirstApp',

    controllers: ['Main'],
    //loads app/store/Demos.js, which contains the tree data for our main navigation NestedList
    stores: ['Speakers'],

    launch: function() {
       Ext.create('MyFirstApp.store.Speakers', { id: 'Speakers' });
       MyFirstApp.util.Proxy.process('feed.js');    
           Ext.create('MyFirstApp.view.Viewport');
       }
    });

但是,应用程序无法启动。我的Chromium调试器告诉我以下内容:

Uncaught Error: [ERROR][Ext.data.Store#setModel] Model with name "MyFirstApp.model.Speaker" does not exist. Console.js?_dc=1395265484974:17
Ext.define.doWrite Console.js?_dc=1395265484974:17
Ext.define.write Writer.js?_dc=1395265484999:49
Ext.define.log Logger.js?_dc=1395265484923:132
(anonymous function) Logger.js?_dc=1395265484923:150
Ext.define.applyModel Store.js?_dc=1395265486959:901
Ext.apply.generateSetter.setter sencha-touch.js:5544
Base.implement.initConfig sencha-touch.js:4982
Ext.define.constructor Store.js?_dc=1395265486959:833
Ext.apply.create.Class sencha-touch.js:5270
(anonymous function)
Ext.ClassManager.instantiate sencha-touch.js:7011
Ext.apply.factory sencha-touch.js:10120
Ext.define.instantiateStores Application.js?_dc=1395265486668:770
Ext.define.onDependenciesLoaded Application.js?_dc=1395265486668:685
Ext.apply.refreshQueue sencha-touch.js:8260
Ext.apply.refreshQueue sencha-touch.js:8261
Ext.apply.refreshQueue sencha-touch.js:8261
Ext.apply.refreshQueue sencha-touch.js:8261
Ext.apply.refreshQueue sencha-touch.js:8261
Ext.apply.refreshQueue sencha-touch.js:8261
Ext.apply.onFileLoaded sencha-touch.js:8589
(anonymous function) sencha-touch.js:3270
Ext.apply.injectScriptElement.onLoadFn

可能出了什么问题?我想我尝试比较 Kitchen Sink 应用程序 我的应用程序数十次,除了bootstrap.js的内容外,没有看到差异。

该应用的整个代码为here

2 个答案:

答案 0 :(得分:3)

我的建议是首先你遵循任何Sencha教程。我列出了一些你的错误:

  1. 您尚未在app.js文件中添加modelsviews
  2. 您的共享应用程序代码没有Viewport.js,也缺少商店和模型文件。

答案 1 :(得分:0)

代码缺少app.js中模型的声明。不确定为什么,但这解决了问题。