Я пытаюсь расширить объект Ext.Container в рамках инфраструктуры Sencha Touch, чтобы добавить несколько необходимых мне свойств, одно из которых - загрузка файла через AJAX.
App.Ext.AContainer = Ext.extend(Ext.Container, {
ajax : false,
doAjax : function(p, that) {
Ext.Ajax.request({
url : p,
method : 'POST',
success : function(result) {
Ext.apply(that, {
html : result.responseText
})
},
failure : function(result) {
Ext.Msg.alert('ERROR : AJAX : Could not load ' + p);
}
})
},
constructor : function(b) {
if( b.ajax === true && b.hasOwnProperty('rhtml')) {
this.doAjax(b.rhtml, this);
}
App.Ext.AContainer.superclass.constructor.call(this, b);
console.log(this);
}
});
С фактической реализацией этого Контейнера:
var servicesContainer = new App.Ext.AContainer({
scroll : 'vertical',
ajax : true,
rhtml : 'test.html'
});
По сути, моя идея заключалась в том, чтобы создать метод, который позаботится о загрузке файла, а затем скопировать его в свойство html вручную. Когда я проверяю консоль на вывод «this», она показывает, что свойство html устанавливается с правильной разметкой, но не отображает разметку на странице.
Не совсем уверен, что я делаю не так.