Sencha touch 将html文件导入Sencha Touch 2

Sencha touch 将html文件导入Sencha Touch 2,sencha-touch,sencha-touch-2,Sencha Touch,Sencha Touch 2,我试图将外部html文件导入Touch2,但遇到错误。我的查看代码如下: Ext.define("GS.view.Demo", { extend: 'Ext.container.Container', xtype: 'container', requires: [ 'Ext.Component', 'Ext.ItemCollection', 'Ext.Mask', 'Ext.behavior.Scrollable', 'Ext.l

我试图将外部html文件导入Touch2,但遇到错误。我的查看代码如下:

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文件的正确步骤是什么?

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

extend: 'Ext.Container',
alias:'widget.demo'
将其添加到视口中可能如下所示

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

谢谢你的帮助,模糊。别名否定了小部件错误,但我不确定在何处声明视口代码,因此无法加载外部文件。我的演示屏幕上有一个空容器。您可以将xtype:“demo”添加到视口,然后使用exampleviewport.setActiveItem调用它。另外,容器并没有标题配置,边距应该是边距,bodyPadding应该只是填充。您应该在侦听器中添加类似初始化的内容,而不是加载程序。上面的flex在您的项目配置中添加xtype:'container'并将标题更改为html。这里的大问题是您的xtype:'container'。Ext.container已经使用了xtype“container”,因此您应该为类指定一个唯一的xtype。正如fuzzyLikeSheep提到的那样,在这种情况下,您有许多配置是无效的。ajax调用将帮助您而不是加载程序配置