将HTML转换为Sencha

Convert HTML to Sencha

本文关键字:Sencha 转换 HTML      更新时间:2023-09-26

我对sencha很陌生,可能不知道你需要什么。我正在尝试使用ajax提取HTML页面的一些内容。例如,id="content"的div中的文本。

我想把这个内容提取在一个面板或容器Sencha。

这是我的观点:

Ext.define("myapp.view.Main", {
   extend: 'Ext.tab.Panel',
   requires: ['Ext.TitleBar'],
   config: {
       tabBarPosition: 'bottom',
       items: [
          {
            title: 'Welcome',
            iconCls: 'home',
            styleHtmlContent: true,
            scrollable: true,
            html: FUNCTION_TO_GET_CONTENT   .join("")
         }
      ]
   }
});

我想知道是否有任何方法可以在面板中显示HTML页面的内容,但我不知道如何。有人能帮我理解这一点吗?以及我如何才能最好地解决这一问题?

更新:

基本上,我想做的是复制JQuery语句的结果:

 $("#mylocaldiv").load("sourcePage.html #mainDiv");

然后将结果附加到选项卡面板中的html属性中。

首先,在视图中添加一个别名(确保其前面有widget.

Ext.define("myapp.view.Main", {
    extend: 'Ext.tab.Panel',
    alias: 'widget.Main',
    ...
});

然后通过以下任一操作获取您的观点:

myView = Ext.Viewport.down('Main');

myView = Ext.ComponentQuery.query('Main');

现在你可以这样访问你的物品:

myView.items.items

由于你的面板是唯一的项目,它将是第0项。然后,您可以使用它的setHtml方法来附加html:

myView.items.items[0].setHtml('your html here');

在将html文件加载到面板中方面,我相信Sencha删除了Ext.dom.Element.load()。我会使用一个简单的Ajax请求,然后在成功回调中将结果附加到面板中。请参阅此处:将html文件加载到面板

sencha不是构建大型应用程序的好工具,因此最好选择另一个。我试过了,它浪费了我的时间,根本没有用,窗口面板和更多使用图像而不是css开发的东西。如果我们用它构建大型应用程序,我们可能会降低应用程序的性能。