【问题标题】:Extjs MVVM - Slider widget change eventExtjs MVVM - 滑块小部件更改事件
【发布时间】:2015-10-04 11:01:30
【问题描述】:

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

https://fiddle.sencha.com/#fiddle/qcf

或者看

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

谢谢

【问题讨论】:

    标签: javascript extjs mvvm


    【解决方案1】:

    如果您的意思是普通控制器而不是 ViewController,那么您可以执行以下操作:

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

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

    https://www.sencha.com/blog/using-viewcontrollers-in-ext-js-5/

    【讨论】:

    • 是的,这行得通,只是我不知道视图中的控制器名称... MyApp.app.getController('MyApp.controller.MainController');我很久以前就发布了这个,必须检查一下,也许我已经找到了一些解决方案。
    • 好的,当然。控制器名称是在控制器文件顶部定义的,不应更改,例如你应该知道哪个控制器有你想要的方法。唯一的区别是如果您使用 ViewControllers,则需要稍微不同的方法。
    猜你喜欢
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多