javascript - EXTJS 5 我可以在 View 模型的商店属性中拥有树存储吗?

标签 javascript extjs mvvm viewmodel

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

当我从 Controller 对 viewModel 进行 console.log 时,stores 出现在 data 属性中,调用 viewModel.getStores() 返回 null。我不明白:/...

这里是与 fiddle 中相同的代码:

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

最佳答案

要检索您的商店,您可以在 Controller 中使用以下代码:

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

基于此thread他们声明 getStores 方法本来是私有(private)的。我认为文档仍然没有更新来代表这一点。

关于javascript - EXTJS 5 我可以在 View 模型的商店属性中拥有树存储吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28899336/

相关文章:

javascript/CSS - 阻止点击上次打开的弹出窗口外的元素(按钮),并在上次打开的弹出窗口外全部变灰

javascript - 如何使用javascript从外部文件加载php vars

c# - 如何从 CA1811 中排除 View 模型属性

wpf - 使用 SQLite 和 Entity Framework 进行数据绑定(bind)

javascript - JS/ExtJS 3 比较文本的宽度和文本所在元素的宽度

WPF:根据相应的ViewModel(MVVM)切换UserControls

javascript - php post 返回 true 或无错误后 AJAX 重定向

javascript - 如何使用express/node.js通过互联网请求React应用程序

javascript - 正则表达式模式无法正常工作..但仅在 Extjs/Javascript 中

extjs - xtype 和别名有什么区别?