Показать сообщение отдельно
  #1 (permalink)  
Старый 04.12.2015, 12:09
Аспирант
Отправить личное сообщение для XAPuTOH Посмотреть профиль Найти все сообщения от XAPuTOH
 
Регистрация: 17.12.2012
Сообщений: 63

Задать значения вьюмодели при создании компонента.
Всем привет. Наверное глупый вопрос, но чето понять пока не могу

Есть некий компонент Filter.
И есть у него View, ViewModel и ViewController
Примерно так:
Ext.define('FilterPanel', {
    extend: 'Ext.tree.Panel',
    alias: 'Filter',
    controller: 'ViewController',
    viewModel: {
        type: 'ViewModel'
    },

    bind:{
        store:'{filterStore}'
    }
.................


Во вьюхе объявлена вьюмодель и забиндин стор из него.
Вьюмодель примерно такая:
Ext.define('ViewModel', {
    extend: 'Ext.app.ViewModel',

    alias: 'viewmodel.ViewModel',

    data:{
        relTypeId:11,
    },

    stores: {
        Objects: {
            type: 'objects',
            autoLoad:false,
            pageSize:'{pageSize}',
            proxy:{
                extraParams: {
                    relTypeId: '{relTypeId}'
                }
            }
        }
    }
});


В общем мне надо при создании этого компонента както задать relTypeId.

Пытаюсь так:
Ext.Create('Filter',{
     viewModel:{
           data:{ relTypeId: 5}
     }
})


Он у меня перезаписывает всю модель целиком.

Если я при этом укажу тип viewModel. то все нормально:
Ext.Create('Filter',{
     viewModel:{
          type: 'ViewModel'
          data:{ relTypeId: 5}
     }
})


Но помоему это както нелогично и не прозрачно. Есть ещё какието способы задать значение переменной вьюмодели при создании объекта?
Ответить с цитированием