Sencha touch 尝试在html更改后更新Sencha Touch扩展面板

Sencha touch 尝试在html更改后更新Sencha Touch扩展面板,sencha-touch,extjs4,Sencha Touch,Extjs4,我正在从我的webdb中提取一些数据,将其转换为html,并希望将其绑定到扩展xtype的html属性: App.views.Homecard = Ext.extend(Ext.TabPanel, { title: "Home", iconCls: "home", defaults: { styleHtmlContent: true }, items: [{ title: 'TabPanels', scroll: 'vertical',

我正在从我的webdb中提取一些数据,将其转换为html,并希望将其绑定到扩展xtype的html属性:

App.views.Homecard = Ext.extend(Ext.TabPanel, {
title: "Home",
iconCls: "home",
defaults: {
    styleHtmlContent: true
},
items: [{
        title: 'TabPanels',
        scroll: 'vertical', 
        html: getPresentations
        },
        {
        title: 'Toolbars',
        scroll: 'vertical', 
        html: '<p>Toolbars can be used as a title bar or as a '
        }],
App.views.Homecard=Ext.extend(Ext.TabPanel{
标题:“家”,
iconCls:“家”,
默认值:{
styleHtmlContent:true
},
项目:[{
标题:“选项卡面板”,
滚动:‘垂直’,
html:getPresentations
},
{
标题:“工具栏”,
滚动:‘垂直’,
html:“工具栏可以用作标题栏或
}],
}))

请参阅“html:returnHTML”-此变量是在webdb回调中生成的。。我想在完成该字符串后调用此页面上的刷新或更新。。有人能帮我做些什么吗

谢谢!
Todd首先获取对item对象的引用。您可以通过多种方式实现这一点,这取决于从何处获得
differentithtml
对象。假设您这样修改代码,以便可以按id获取item对象

{
id: 'parent'
title: "Home",
iconCls: "home",
defaults: {
    styleHtmlContent: true
}
然后使用以下代码访问需要更改其HTML的项目。然后调用
doLayout
doComponentLayout()
,因为不同的HTML可能占用不同的空间

var item = Ext.getCmp('parent').items.items[0];
     item.update(differentHTML);
     item.doLayout();
     Ext.getCmp('parent').doComponentLayout();
请注意,这是一种黑客行为。通常我要做的是首先定义一个模型,该模型将保存您从webdb获得的数据。然后有一个控制器,通过应用到模板来更新HTML。通过这种方式,您可以更轻松地获得对项目的引用,而无需id。此外,您还可以通过将格式代码与实际数据分离来维护更干净的代码。 您可以通过以下视频了解更多信息:


现场示例

嘿,你能再看看我上面的代码吗。。。我第一次没有把它全部抄下来。我一直在关注一个图坦卡蒙的视频——那么你的建议是否仍然适用于我上面的做法?我一点也不习惯模型/视图/控制器……谢谢你的帮助!是的,这是适用的。MVC只是一个建议,您不需要遵循。只需将
id
属性添加到
App.views.Homecard
对象,然后用上面的代码更新html(此代码->
var item=Ex…
)。这似乎不起作用…:Preeze.views.Homecard=Ext.extend(Ext.Panel,{id:“Parent”,title:“Home”,iconCls:“Home”,styleHtmlContent:true,html:“adfdasf”});Ext.reg('homecard',Preeze.views.homecard);var item=Ext.getCmp('Parent').items.items[0];项目未定义。。。Ext.getCmp('Parent')找不到任何东西…?何时调用该
Ext.getCmp('Parent')
?需要在渲染视图后调用它。