将html文件导入Sencha Touch 2

时间:2012-03-25 16:27:27

标签: sencha-touch sencha-touch-2

我正在尝试将外部html文件导入Touch 2并遇到错误。我的观看代码如下:

Ext.define("GS.view.Demo", {
    extend: 'Ext.container.Container',
    xtype: 'container',

    requires: [
    'Ext.Component',
    'Ext.ItemCollection',
    'Ext.Mask',
    'Ext.behavior.Scrollable',
    'Ext.layout.Layout',
    ],

    config: {
    title: 'Demo',
    iconCls: 'star',


    items: [{
                flex: 1,
                margins: '0 2 0 0',
                title: 'Load raw html',
                styleHtmlContent: true,
                bodyPadding: 5,
                loader: {
                    autoLoad: true,
                    url: 'SHdemo.html'
                }
            }]

        }
    });

和apps.js:

//<debug>
 Ext.Loader.setPath({
'Ext': 'sdk/src'
});
//</debug>

Ext.application({
    controllers: ["Main"],

name: 'GS',

requires: [
    'Ext.MessageBox'
],

views: ['Main', 'Home', 'Contact', 'Blog', 'Demo'],

icon: {
    57: 'resources/icons/Icon.png',
    72: 'resources/icons/Icon~ipad.png',
    114: 'resources/icons/Icon@2x.png',
    144: 'resources/icons/Icon~ipad@2x.png'
},

phoneStartupScreen: 'resources/loading/Homescreen.jpg',
tabletStartupScreen: 'resources/loading/Homescreen~ipad.jpg',

launch: function() {
    // Destroy the #appLoadingIndicator element
    Ext.fly('appLoadingIndicator').destroy();

    // Initialize the main view
    Ext.Viewport.add(Ext.create('GS.view.Main'));
},

onUpdated: function() {
    Ext.Msg.confirm(
        "Application Update",
        "This application has just successfully been updated to the latest version.     Reload now?",
        function() {
            window.location.reload();
        }
      );
    }
});

此代码抛出“即使已加载文件,也未声明以下类:'Ext.container.Container'”如果我在视图中将'Ext.container.Container'替换为'Ext.Container',我得到“错误:[Ext.createByAlias]无法创建无法识别的别名实例:widget.demo”。导入外部html文件的正确步骤是什么?

1 个答案:

答案 0 :(得分:0)

不需要xtype:'container'。 您应该为容器添加别名,如

extend: 'Ext.Container',
alias:'widget.demo'

将其添加到视口可能看起来像这样

Ext.Viewport.add({xtype:'demo'});