2012-03-04 51 views
3

當從2011年Senchacon在深度第一部分會議結束後煎茶觸摸MVC 2我一直從頭再來得到同樣的錯誤:在Sencha Touch 2中創建xtype?

Uncaught Error: [Ext.createByAlias] Cannot create an instance of 
unrecognized alias: widget.homepage 

Normaly在extjs4我會用別名:widget.homepage它工作得很好。但是,在煎茶觸摸MVC應用程序如下因素埃德斯賓塞的教程時,我不斷收到同樣的錯誤:

APP.JS

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

Ext.application({ 
    name: 'Sencha', 

    controllers: ['Main'], 

    launch: function() { 
     Ext.create("Ext.tab.Panel", { 
      fullscreen: true, 
      tabBarPosition: 'bottom', 
      items: [ 
       { 
        xtype: 'homepage' 
       } 
      ] 
     }); 
    } 
}); 

視圖(HOME.JS)

Ext.define('Sencha.view.Home', { 
    extend: 'Ext.Panel', 
    xtype: 'homepage', 
    config: { 
     title: 'Home', 
     iconCls: 'home', 
     cls: 'home', 
     html: [ 
      '<img src="http://staging.sencha.com/img/sencha.png" />', 
      '<h1>Welcome to Sencha Touch</h1>', 
      "<p>You're creating the Getting Started app. This demonstrates how ", 
      "to use tabs, lists and forms to create a simple app</p>", 
      '<h2>Sencha Touch (2.0.0)</h2>' 
     ].join(""); 
    } 
}); 

控制器(MAIN.JS)

Ext.define('Sencha.controller.Main', { 
    extend: 'Ext.app.Controller', 
    views: ['Home'], 
    init: function() { 
     console.log('inited'); 
    } 
}); 
+0

我有同樣的'未捕獲的錯誤:[Ext.createByAlias]無法創建無法識別的別名的實例:widget.somename',但我通過在ext.application的主視口之前聲明內部視圖來修復,如下所示:'views :['someViewWithXtype','anotherViewWithXtype','myViewport'],' – RaphaelDDL 2012-03-06 18:21:36

回答

7

看起來他們改變了這裏的你的觀點定義老話 - 它會在app.js,而不是控制器,main.js

所以,如果你剪切和main.js正上方的controllers:定義粘貼views: ['Home'],app.js,你的榜樣應該工作。

從長遠來看,這在我看來是一件好事 - 基本上你現在可以在一個地方定義你的視圖,控制器,模型等等。但令人遺憾的是,通過進行這一改變,任何試圖使用最新版本的Sencha 2與此視頻一起關注的人將會遇到這個問題。

編輯:發現另一個問題。當你到達你在控制器中添加引用到聯繫表單的部分時,它的語法也發生了變化 - 它進入了一個配置。添加此控制器爲我工作:

config: { 
    refs: { 
     contactForm: { 
      selector: '#contactForm' 
     } 
    } 
}, 
+0

是的,我在Sencha論壇上看到了這個...猜猜Sencha的傢伙在他們的腦海中有很多想法...... ;-)謝謝.. 。 – 2012-03-04 19:24:30

0

萬一有人有同樣的問題,我是定義配置屬性全屏(駝峯),而不是全屏(小的情況下)。

當我修復問題解決後。