Javascript 如何在ExtJS5中将CLS添加到具有ViewModel绑定的按钮
我想在绑定后更改css类。在ExtJS5中可能吗 我补充了一些评论。 小提琴:Javascript 如何在ExtJS5中将CLS添加到具有ViewModel绑定的按钮,javascript,extjs,mvvm,extjs5,Javascript,Extjs,Mvvm,Extjs5,我想在绑定后更改css类。在ExtJS5中可能吗 我补充了一些评论。 小提琴: 您的代码中有几个问题: 无法绑定cls,因为没有setCls方法-您可以绑定 如果你愿意的话,我可以帮你 您不能在字符串后面添加索引,例如iconCls:'{rating}'[0]-这在语法上是不正确的 如果这样定义rating公式,则必须运行get函数-get() 试试这个代码 Ext.define('Fiddle.view.FooModel', { extend: 'Ext.app.ViewModel',
您的代码中有几个问题:
iconCls:'{rating}'[0]
-这在语法上是不正确的rating
公式,则必须运行get函数-get()
Ext.define('Fiddle.view.FooModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.fiddle-foo',
data: {
val: 1
},
formulas: {
rating: function(get) {
get();
return 'hello-world';
}
}
});
Ext.define('Fiddle.view.Foo', {
extend: 'Ext.panel.Panel',
xtype: 'fiddle-foo',
viewModel: {
type:'fiddle-foo'
},
layout: 'hbox',
height: 50,
width: 250,
items: [{
xtype: 'button',
text: 'rating 1',
bind:{
iconCls:'{rating}'
}
}, {
xtype: 'button',
text: 'rating 2',
bind:{
iconCls:'{rating}'
}
}, {
xtype: 'button',
text: 'rating 3',
bind:{
iconCls:'{rating}'
}
}]
});
Ext.application({
name: 'Fiddle',
launch: function() {
new Fiddle.view.Foo({
renderTo: document.body,
width: 400,
height: 400,
title: 'Test'
});
}
});