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/4/json/15.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 Extjs MVVM-滑块小部件更改事件_Javascript_Extjs_Mvvm - Fatal编程技术网

Javascript Extjs MVVM-滑块小部件更改事件

Javascript Extjs MVVM-滑块小部件更改事件,javascript,extjs,mvvm,Javascript,Extjs,Mvvm,在MVVM结构中,我非常困惑如何从某些视图元素触发控制器中的某些函数。按钮和一些简单事物的处理程序正在工作,但这里我有一个例子,我无法正确理解 或者看 Ext.define('MVVM.view.Master', { extend : 'Ext.grid.Panel', xtype : 'mvvm-MasterView', requires: [ 'Ext.grid.column.Action', 'Ext.ProgressBarWidget', 'Ext.slide

在MVVM结构中,我非常困惑如何从某些视图元素触发控制器中的某些函数。按钮和一些简单事物的处理程序正在工作,但这里我有一个例子,我无法正确理解

或者看

Ext.define('MVVM.view.Master', {
extend : 'Ext.grid.Panel',
xtype  : 'mvvm-MasterView',
requires: [
    'Ext.grid.column.Action',
    'Ext.ProgressBarWidget',
    'Ext.slider.Widget',
    'Ext.sparkline.*'
],

title : 'Master Panel',

store : 'People',

columns: [
    { 
        text      : 'Name',  
        dataIndex : 'name' 
    },{
        text     : 'Slider',
        xtype    : 'widgetcolumn',
        width    : 120,
        dataIndex: 'progress',
        widget: {
            xtype: 'sliderwidget',
            minValue: 0,
            maxValue: 1,
            decimalPrecision: 2,
            listeners: {
                change: function(slider, value) {
                        //how to trigger something in the controller?

                    }                        
                }
            }
        }
    },        
    { 
        text      : 'Email', 
        dataIndex : 'email', 
        flex      : 1 
    },
    { 
        text      : 'Phone',
        dataIndex : 'phone' 
    }
]
}))

每次滑块更改时,我都需要调用控制器中的函数。怎么做

这不起作用:

listeners: {
                    change: 'controllerFunction'
    }

谢谢

如果您指的是普通控制器而不是ViewController,则可以执行以下操作:

var controller=MyApp.app.getController('MyApp.controller.MainController');
controller.doMethod()

如果您指的是视图控制器,那么本文非常有用:


如果您指的是普通控制器而不是ViewController,则可以执行以下操作:

var controller=MyApp.app.getController('MyApp.controller.MainController');
controller.doMethod()

如果您指的是视图控制器,那么本文非常有用:


是的,这是可行的,只是从视图中我不知道控制器名称。。。MyApp.app.getController('MyApp.controller.MainController');我很久以前就发布了这个,我必须检查一下,也许我已经找到了一些解决方案。好的,当然。控制器名称与在控制器文件顶部定义的名称相同,不应更改。例如,您应该知道哪个控制器中有您想要的方法。唯一的区别是,如果您使用的是ViewController,则需要一种稍微不同的方法。是的,这是可行的,只是我不知道视图中的控制器名称。。。MyApp.app.getController('MyApp.controller.MainController');我很久以前就发布了这个,我必须检查一下,也许我已经找到了一些解决方案。好的,当然。控制器名称与在控制器文件顶部定义的名称相同,不应更改。例如,您应该知道哪个控制器中有您想要的方法。唯一的区别是,如果您使用的是ViewController,则需要稍微不同的方法。