Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2015, 23:49
Аватар для kolka
Кандидат Javascript-наук
Отправить личное сообщение для kolka Посмотреть профиль Найти все сообщения от kolka
 
Регистрация: 07.06.2010
Сообщений: 146

Combobox bind Viewmodel
Привет всем.

Гуру, прошу комментарии по поводу следующего кода.
https://fiddle.sencha.com/#fiddle/o1g

Пытаюсь использовать MVVM.
Суть в том, что почему-то данные не передаются в модель.
Строка 137-141 не работает.

Причем если указанные строки закомментировать, а строки 75-80 раскомментировать - то работает.
В чем косяк ?

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 23.08.2015, 15:58
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Почему не работает, пока не понимаю. Но есть работающий вариант:

Ext.application({
    name: 'Fiddle',

    launch: function() {

        var record = {
            id1: '2',
            id2: '3'
        };
        
        var panel = new Ext.panel.Panel({
            title: 'Hello',
            width: 600,
            height: 400,
            renderTo: Ext.getBody(),
            items: [{
                xtype: 'fiddle-form'
            }]
        });
        
        panel.down('fiddle-form').getViewModel().set('rec', record);


    }
});

Последний раз редактировалось novikov, 23.08.2015 в 16:03.
Ответить с цитированием
  #3 (permalink)  
Старый 24.08.2015, 10:46
Аватар для kolka
Кандидат Javascript-наук
Отправить личное сообщение для kolka Посмотреть профиль Найти все сообщения от kolka
 
Регистрация: 07.06.2010
Сообщений: 146

Сообщение от novikov Посмотреть сообщение
Почему не работает, пока не понимаю. Но есть работающий вариант:

Ext.application({
    name: 'Fiddle',

    launch: function() {

        var record = {
            id1: '2',
            id2: '3'
        };
        
        var panel = new Ext.panel.Panel({
            title: 'Hello',
            width: 600,
            height: 400,
            renderTo: Ext.getBody(),
            items: [{
                xtype: 'fiddle-form'
            }]
        });
        
        panel.down('fiddle-form').getViewModel().set('rec', record);


    }
});
Спасибо большое за пример.
Такой вариант меня очень выручает.

НО конечно непонятно, почему не работает предыдущий.. странно что на основе примеров самого Sencha - почти четверть не работает как нужно..
Ответить с цитированием
  #4 (permalink)  
Старый 24.08.2015, 12:19
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

вроде работает так https://fiddle.sencha.com/#fiddle/sn2
если
panel.add({
            xtype: 'fiddle-form',
            viewModel: {
                type: 'fiddle-form-model'
                ,data: {
                    rec: {
                        id1: '2',
                        id2: '3'
                    }
                }
            }
        })
Ответить с цитированием
  #5 (permalink)  
Старый 24.08.2015, 16:05
Аватар для kolka
Кандидат Javascript-наук
Отправить личное сообщение для kolka Посмотреть профиль Найти все сообщения от kolka
 
Регистрация: 07.06.2010
Сообщений: 146

В том то и дело, нужно передавать уже созданным ранее объектом record
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение comboBox из sql таблицы ynijar ExtJS 2 18.02.2013 22:47
Управление ComboBox martinelli ExtJS 0 05.09.2012 10:03
bind, delegate,live Arkinsstoun jQuery 6 21.01.2012 19:53
ComboBox на Panel-e. rom30 ExtJS 1 13.12.2011 19:53
Как узнать какое поле выбрано в combobox? viperrr ExtJS 6 15.11.2011 15:08