尝试通过调用控制器在切换字段中使用值

时间:2011-05-06 11:31:36

标签: extjs sencha-touch

有没有办法从控制器接收一些返回值,如

app.controllers.theController = new Ext.Controller({
    ...
    getPrefsData: function(options){
        //console.log("@getPrefsData: " + options.datastring);
        return options.datastring;
    },
...

在面板项目中使用它:

app.views.PrefsView = Ext.extend(Ext.Panel, {
        ...
        items: [
                            xtype: 'togglefield',
                            name: 'enableThis',
                            label: 'Enabler',
                            value : HERE I NEED THE VALUE FROM THE CONTROLLER,
        ]

类似

value: Ext.dispatch({
    controller: app.controllers.clockcontroller,
    action: 'getPrefsData',
    datastring:'alarm'
});

不起作用......

1 个答案:

答案 0 :(得分:1)

也许这会有所帮助;

在我的应用程序中,我需要在面板之间切换时使用一些会话变量。用户选择列表中的项目,在下一个面板中,我想知道所选项目的ID是什么。

从控制器(/函数)获取返回值并不适合我。

相反,我使用了:

        Ext.apply(panel, {
            testVariabele: index,
        }), 

这段代码让我设置了一个全球性的代码。函数(控制器)内的变量("面板"是我的主面板的ID)。要访问另一个面板或卡中的变量,您现在可以使用:

panel.testVariabele;