我有一个简单的mvvm示例:https ://fiddle.sencha.com/#fiddle/j8m
当我从控制器进行console.log viewModel时,存储出现在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()
});
要检索商店,可以在控制器中使用以下代码:
var viewModel = this.getViewModel();
var todo = viewModel.getStore('todoAccountsStore');
var skip = viewModel.getStore('skipAccountsStore');
他们基于此线程声明该getStores
方法旨在私有。我认为文档尚未更新以表示这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句