Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Combobox bind Viewmodel (https://javascript.ru/forum/extjs/57815-combobox-bind-viewmodel.html)

kolka 20.08.2015 23:49

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

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

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

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

Спасибо.

novikov 23.08.2015 15:58

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

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);


    }
});

kolka 24.08.2015 10:46

Цитата:

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

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 - почти четверть не работает как нужно..

Pavel M. 24.08.2015 12:19

вроде работает так https://fiddle.sencha.com/#fiddle/sn2
если
panel.add({
            xtype: 'fiddle-form',
            viewModel: {
                type: 'fiddle-form-model'
                ,data: {
                    rec: {
                        id1: '2',
                        id2: '3'
                    }
                }
            }
        })

kolka 24.08.2015 16:05

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


Часовой пояс GMT +3, время: 21:12.