我有viewModel:
Ext.define('Shop.view.BooksViewModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.booksVM',
stores: {
books: {
model: 'Poly.model.books',
extend: 'Ext.data.Store',
listeners: {
update: function() {
// get this view model for set record in 'getBooks' formula
}
}
}
},
formulas: {
getBooks: {
get: function (value) {
return value;
}
}
}})
在商店的“更新”功能中,我想要获取此 View 模型并在公式记录中设置。 但如果我在商店功能中调用“this”,我会得到“store”
最佳答案
使用 initConfig 方法。
Ext.define('Shop.view.BooksViewModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.booksVM',
initConfig: function(instanceConfig) {
var me = this,
config = {
stores: {
books: {
model: 'Poly.model.books',
extend: 'Ext.data.Store',
listeners: {
update: function() {
console.log(me.getFormulas().getBooks);
}
}
}
}
};
if (instanceConfig) {
me.getConfigurator().merge(me, config, instanceConfig);
}
return me.callParent([config]);
},
formulas: {
getBooks: {
get: function (value) {
return value;
}
}
}})
关于extjs - 从 store 监听器获取 ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37257712/