Действия при загрузке страницы
Привет.Подскажите как сделать событие при загрузке страницы.Например в обычном случае(без ExtJS) <body onload="function">
как это сделать в extjs? Спасибо |
Ext.onReady(function(){
// страница загружена.
});
По крайней мере в 3й версии так. К слову атрибут onload тега <body> устанавливает обработчик события window@onload, а Ext.onReady навешивает document@DOMContentLoaded (оно наступает раньше) |
а где вызывать этот метод?
я вот просто пытаюсь в контроллере, в методе init.и оттуда вроде срабатывает вызов функции,она яндекс карты загружает.по консоли видно что карты грузятся, но не отображаются,как мне отрендерить? |
В объявлении класса приложения должны быть перечислены все контроллеры. Сначала приложение выполняет init() у всех контроллеров, а затем переходит к построению представлений. [Попутно навешивая обработчики событий, заданные вами в методах init() контроллеров.]
В версии ExtJs 4.2 в методе init() контроллера должно быть что-то наподобие:
this.listen({
component: {
'#my_map_panel_id': {
afterrender: function(myMapPanel) {
// рисуем карты
}
}
}
});
Мне с яндекс-картами не приходилось сталкиваться. Возможно, действовать нужно иначе. Пример с картами Гугл видели? http://docs.sencha.com/extjs/4.2.1/#...ndow/gmap.html Если не трудно, покажите код. |
я пытаюсь сделать так
Ext.define('CWM.view.Main', {
alias: 'widget.main', // alias (xtype)
extend: 'Ext.panel.Panel',
title: 'Панель управления МБУ ЦДС "Веб карты"',
xtype: 'panel',
html: '<div id="map-canvas"></div>',
listeneres: {
afterrender: function () {
ymaps.ready(init);
function init() {
myMap = new ymaps.Map("map-canvas", {
center: [51.7038, 39.1833],
zoom: 12,
type: 'yandex#hybrid'
});
myMap.controls
// Кнопка изменения масштаба.
.add('zoomControl', { left: 5, top: 5 })
// Список типов карты
.add('typeSelector')
// Стандартный набор кнопок
.add('mapTools', { left: 35, top: 5 });
}
}
},
|
Это определение представления (view), а не контроллера. Вы определяете обработчики в представлении. xtype: panel можно не писать. extend: 'Ext.panel.Panel' значит то же самое. Впрочем не важно. Проблема не в этом. У вас опечатка: listeneres. Должно быть: listeners. Надеюсь, что причина в этом.
|
| Часовой пояс GMT +3, время: 22:51. |