EXTJS 5我可​​以在视图模型的商店属性中存储树存储吗?

时间:2015-03-06 13:01:33

标签: javascript extjs mvvm viewmodel

我有这个简单的mvvm示例:https://fiddle.sencha.com/#fiddle/j8m

当我从控制器调度view.log时,存储在data属性中,调用viewModel.getStores()返回null。我不明白:/ ...

以下是与小提琴相同的代码:

Ext.define('MainViewModel', {
    extend: 'Ext.app.ViewModel',
    alias: 'viewmodel.mainviewmodel',

    stores: {
        todoAccountsStore: {
            type: 'tree'
        },
        skipAccountsStore: {
            type: 'tree'
        }
    }
});

Ext.define('MainViewController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.mainviewcontroller',

    init: function() {
        console.log(this.getViewModel());
    }
});

Ext.define('MainView', {
    extend: 'Ext.panel.Panel',
    xtype: 'view-main',

    controller: 'mainviewcontroller',

    viewModel: {
        type: 'mainviewmodel'
    }
});

var test = Ext.create('MainView', {
    renderTo: Ext.getBody()
});

1 个答案:

答案 0 :(得分:1)

要检索商店,您可以在控制器中使用以下代码:

var viewModel = this.getViewModel();
var todo = viewModel.getStore('todoAccountsStore');
var skip = viewModel.getStore('skipAccountsStore');

根据此thread,他们声明getStores方法是私有的。我认为文档仍然没有更新来代表这一点。