ExtJS4.1を使用するWebアプリがあります。javascriptはすべてMVCです。サーバーにJSON呼び出しを行って、コンポーネントの1つのコンテンツを置き換える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
ですか?