Sencha touch 将html文件导入Sencha Touch 2
我试图将外部html文件导入Touch2,但遇到错误。我的查看代码如下: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
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调用将帮助您而不是加载程序配置