我有一个使用 ExtJS 4.1 的网络应用程序。javascript都是MVC。我有一个商店,它对服务器进行 JSON 调用以获取包含 html 标记的单个记录,我想用它替换我的一个组件的内容。我可以验证我的商店是否正常工作,我的控制器是否正常工作,但我认为我正在使用的功能setInnerHtml
无法正常工作。
这是我的控制器代码:
Ext.define(appName + '.controller.Header', {
extend: 'Ext.app.Controller',
stores: [ 'Header' ],
models: [ 'Header' ],
views: [ 'main.Header' ],
refs: [{ ref: 'headerView', selector: 'header' }],
init: function () {
var headerStore = this.getHeaderStore();
headerStore.addListener('load', this.onHeaderStoreLoad, this);
},
onLaunch: function () {
},
onHeaderStoreLoad: function (store, records, successful) {
if (successful) {
var headerContent = store.first().data.html;
var headerView = this.getHeaderView();
headerView.setInnerHtml(headerContent);
}
}
});
这是我的视图代码:
Ext.define(appName + '.view.main.Header', {
extend: 'Ext.panel.Panel',
alias: 'widget.header',
height: 30,
layout: 'border',
border: false,
items: [
{ html: 'header', region: 'center' } // this is just a temporary placeholder and I'd like to replace this item with different html
],
setInnerHtml: function (html) {
this.update(html); // doesn't work
}
});
我需要如何更改我的setInnerHtml
功能?