我有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;
}
}
}})
并且在商店的'update'函数中我希望得到这个viewModel并在公式记录中设置。 但如果我在商店里面打电话给'这个'我会得到'商店'
答案 0 :(得分:2)
使用initConfig mehod。
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;
}
}
}})