javascript – 如何将ViewModel Store绑定到View?

前端之家收集整理的这篇文章主要介绍了javascript – 如何将ViewModel Store绑定到View?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是一个非常新的Ext JS并试图在 Panel中嵌入一个 MultiSelect.

The viewmodel has a stores property as you can see here:

Ext.define('TEST.view.controls.search.SearchFilterModel',{
    extend: 'Ext.app.viewmodel',alias: 'viewmodel.filter',data: {
        title: ''
    },stores: {
        test: {
            fields: ['id','name'],proxy: {
                type: 'ajax',url: 'api/test',reader: 'array'
            },autoLoad: true
        }
    }
});

I would like to bind that in my View like this:

viewmodel: {
    type: 'filter'
},layout: 'fit',border: 1,plain: true,scrollable: 'y',bind: {
    title: '{title}',},items: {
    xtype: 'multiselect',scrollable: false,allowBlank: true,ddReorder: true,bind: {
        store: '{test}'
    },valueField: 'id',displayField: 'name'
}

在这种情况下,存储最终为null,并且没有数据加载到窗口小部件中.如果我只是在视图中对其进行硬编码,而不是绑定商店,那么它可以工作.

有谁看到问题是什么?

解决方法

除了绑定存储之外,您还可以将空对象作为存储传递,这样initComponent将起作用,例如:
{
    xtype: 'multiselect',fieldLabel: 'Multiselect',store: {},displayField: 'name'
}

工作示例:https://fiddle.sencha.com/#fiddle/ur8

原文链接:https://www.f2er.com/js/240775.html

猜你在找的JavaScript相关文章