Действия при загрузке страницы
Привет.Подскажите как сделать событие при загрузке страницы.Например в обычном случае(без 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, время: 03:16. |