Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2015, 14:02
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Не работает lookupReference
Почему lookupReference не работает в данном коде?

Ext.define("MyPanel", {
            extend: "Ext.panel.Panel",
            xtype: "mypanel",
            
            config: {
                param1: null
            },
            
            updateParam1: function(title) {
                var mypanel2 = this.lookupReference("mypanel2");
                mypanel2.add({
                    xtype: "panel",
                    title: "Тыртыртыр"
                });
            },
            
            items: [{
                reference: "mypanel2",
                xtype: "panel",
                title: "Панель2"
            }]
        });


На 11й строке mypanel2 = null

Код в песочнице https://fiddle.sencha.com/#fiddle/q2f
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2015, 23:44
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Потому что владельцем ссылок по умолчанию является ViewController, а не View. У вас два варианта: использовать ViewController и уже в нём вызывать lookupReference, или задать флаг referenceHolder: true на нужном вам View (в данном случае, панели mypanel).

Вот тут подробнее: http://docs.sencha.com/extjs/6.0/6.0...eferenceHolder
Ответить с цитированием
  #3 (permalink)  
Старый 09.07.2015, 08:46
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

а что такое Владелец Ссылок? где об этом почитать?
Ответить с цитированием
  #4 (permalink)  
Старый 09.07.2015, 12:15
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

this.getViewController().lookupReference("mypanel2");


или поместить updateParam1 во ViewController, чтобы придать представлению более декларативный характер (без методов вообще)
Ответить с цитированием
  #5 (permalink)  
Старый 09.07.2015, 23:18
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

http://docs.sencha.com/extjs/6.0/6.0...iner.Container, раздел "References and Reference Holders".
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41
Safari + ajax некорректно работает, а в других работает demi AJAX и COMET 35 15.07.2009 14:11