Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ExtJS5中将CLS添加到具有ViewModel绑定的按钮_Javascript_Extjs_Mvvm_Extjs5 - Fatal编程技术网

Javascript 如何在ExtJS5中将CLS添加到具有ViewModel绑定的按钮

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',

我想在绑定后更改css类。在ExtJS5中可能吗

我补充了一些评论。 小提琴:
您的代码中有几个问题:

  • 无法绑定cls,因为没有setCls方法-您可以绑定 如果你愿意的话,我可以帮你
  • 您不能在字符串后面添加索引,例如
    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'
            });
        }
    });