Как связать дочернее представление с родительской моделью представления в ExtJs 5?

Мне нужно привязать дочернее представление к viewmodel родительского представления. моя структура -

parentView{
    items : [{
        xtype : 'childview'
    }]
}

parentViewModel{data : NAME}

childview : {
    items : {[
        xtype : 'label',
        bind : {value : '{NAME}'}
    ]}
}

2 ответа

На самом деле, вам не нужно использовать viewModel для детей вообще. Все дочерние представления в цепочке компонентов имеют естественный доступ к родительскому представлению. viewModel,

Ext.define('APP.view.Main', {
    extend: 'Ext.panel.Panel',
    alias: 'widget.main',
    viewModel: {
        data: { 
            title: 'TITLE',
            name: 'NAME'
        }
    },
    bind: { title: '{title}' },
    items: [{ xtype: 'child' }]
});

Ext.define('APP.view.Child', {
    extend: 'Ext.container.Container',
    alias: 'widget.child',
    items: [{
        xtype: 'label',
        bind: { value: '{name}' }
    }]
});

См. Руководство ExtJS для дальнейшего объяснения. (Я искренне рекомендую прочитать все это:)).

Надеюсь, это немного поможет!

Хорошо, для начала неверный синтаксис привязки, а также вы можете использовать более легкий component.html, если вам не нужен "метка" xtype для формы.

parentViewModel: {
   data: {
      name: 'Igor'
   }
}

xtype: 'component',
bind: {
   html: '{name}'
}
Другие вопросы по тегам