Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.01.2013, 19:44
Новичок на форуме
Отправить личное сообщение для vikvikst474 Посмотреть профиль Найти все сообщения от vikvikst474
 
Регистрация: 04.01.2013
Сообщений: 9

Cannot read property 'items' of undefined
Доброго времени суток, только начал осваивать ExtJs, бьюсь над примером, но пока безрезультатно.
Пример отсюда http://clck.ru/4RGOe
Ext.define('App',{ //Определяем класс App
    statics:{  //Статическое содержимое класса   
		    	
        init:function(){
            Ext.Loader.setConfig({ //Конфигурация загрузчика скриптов
                enabled:true,  //Загрузчик активен
                disableCaching:true,   //Не кеширует файоы
                paths:{
                    'Base':'js/Base', //Путь в пространству данных Base
                    'People':'js/People'
                }
            
            });
            
            Ext.create('Base.Viewport');
            this.content = this.viewport.items.items[2];

        },
		setContent:function(content){
		    this.content.removeAll();
		    this.content.update('');
		    this.content.add(content);
		}
    }
});

Ошибка в строке
this.content = this.viewport.items.items[2];

Ругается, что не знает такого свойства items, хотя Base.Viewport наследник Ext.container.Viewport, а у последнего такое свойство есть http://docs.sencha.com/ext-js/4-1/#!...property-items
Уже вместо this подставлял имя класса, все равно не работает. И на сайте автора примера никакой обратной связи нет. Заранее спасибо за помощь.
Вот на всякий пожарный файл Viewpost.js
Ext.define('Base.Viewport', { //Определяем новый класс
    extend:'Ext.container.Viewport',
    layout: 'border',
    items: [{ //Что вы нем будет
        region: 'north',  //Где будет находиться компонет?
        html: '<h1 class="x-panel-header">systema otdela kadrov</h1>',
        autoHeight: true,
        border: false,
        margins: '0 0 5 0'
    }, {
        region: 'west',
        title: 'Menu',
        width: 150
 
    }, {
        region: 'center',
        xtype: 'container',
 
        html: 'Soderjimoe',
        style:{
            background: '#fff'
        },
        padding:10
 
    }],
	initComponent:function(){
	    this.callParent(arguments); //Инициализация компонента
	    this.onComplete(); //Вызов метода после готовности компонента
	},
	onComplete:function(){
	    this.menu = this.items.items[1];
	//Находим контейнер для меню и запоминаем его
	    this.menu = this.menu.add(Ext.create('Base.Menu'));
	//Загружаем в контейнер меню, и меню заносим в ту же переменную
	    this.menu.store.loadData([{
	//Метод подгружает в store информацию, которая нужна для создания меню
	    	src:'img/Avatar.png',
            caption:'Sotrudniki',
            action:function(){
              App.setContent(Ext.create('People.Everybody'));
             }  
            	
	    },{
	        src:'img/Avatar.png',
	        caption:'News',
	        action:function(){alert('News');}
	    }]);
	}
});
Ответить с цитированием
  #2 (permalink)  
Старый 05.01.2013, 00:27
Новичок на форуме
Отправить личное сообщение для vikvikst474 Посмотреть профиль Найти все сообщения от vikvikst474
 
Регистрация: 04.01.2013
Сообщений: 9

Заработало следующим образом: вместо 15, 16 строк
VievportForm = Ext.create('Base.Viewport');
            this.content = VievportForm.items.items[2];

однако если кто-нибудь все же ответит должен ли был работать(и главоное почему) первоначальный код буду признателен.
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2013, 16:32
Аватар для Ex_Soft
Профессор
Отправить личное сообщение для Ex_Soft Посмотреть профиль Найти все сообщения от Ex_Soft
 
Регистрация: 19.12.2009
Сообщений: 164

Разберитесь со statics
Ext.onReady(function() {
  Ext.define("TestClassWithStatics", {
    statics: {
      staticProp: "staticProperty"
    }
  });

  var
    o = Ext.create("TestClassWithStatics");

  alert(TestClassWithStatics.staticProp);
  alert(o.staticProp);
});

http://jsfiddle.net/ENqea/
__________________
"Helo, word!" - 17 errors 56 warnings
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка Uncaught TypeError: Cannot read property 'elements' of undefined Allality Общие вопросы Javascript 14 29.07.2012 18:35
Cannot read property 'htmlSource' of undefined ANiMAL_X Javascript под браузер 0 04.07.2012 21:45
Ext.data.Record.create - Uncaught TypeError: Cannot read property 'items' of undefine potkin ExtJS 2 01.07.2012 23:29
Cannot read property 'items' of undefined khusamov ExtJS 0 11.05.2012 04:33
JavaScript error: Cannot read property 'style' of null mainne Javascript под браузер 4 03.03.2012 18:15