EXTjs从另一个控制器访问一个控制器中的数据集

开发人员747

我有一个视图,其中包含一些子视图(它们都扩展了Ext.grid.Panel)。父视图的控制器设置了一个我想在子视图的控制器中访问的变量。我尝试在父控制器的init函数中设置变量。然后,我尝试在子页面的控制器的click函数中读取其值。但这随后引发了一个未捕获的ReferenceError。

我该怎么做呢?

我曾在Sencha小提琴上尝试过类似的方法我正在努力alert(MyApp.app.getController('MyApp.controller.Whatever').myVar);上班

//CHILD

//Controller
Ext.define('MyApp.controller.child', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.child',
    init: function() {
        alert("Initializing Child");
    }
});



//View
Ext.define('MyApp.view.child', {
    extend: 'Ext.form.field.Text',
    alias:'widget.child',
    controller: 'child',
    title: 'Alien',
    width: 200, 
     listeners: {
                    focus: function(comp){

                        alert(MyApp.app.getController('MyApp.controller.Whatever').myVar);
                    }
                },
    renderTo: Ext.getBody()


});

//----------

//PARENT 

//Controller
Ext.define('MyApp.controller.Whatever', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.Whatever',
    myVar:0,
    init: function() {
        alert("initializing parent");
        myVar=20;
    }
});



//View
Ext.define('MyApp.view.Whatever', {
    extend: 'Ext.form.Panel',
    alias:'widget.Whatever',
    controller: 'Whatever',
    title: 'Hello',
     items:[{
                xtype: 'child'

            }],

    width: 200,

    renderTo: Ext.getBody()

});

//------------------------


Ext.application({
    name: 'MyApp',


    launch: function() {

        Ext.create('MyApp.view.Whatever');

    }
});
开发人员747

经过反复试验,这才最终奏效

//CHILD

//Controller
Ext.define('MyApp.controller.child', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.child',

});



//View
Ext.define('MyApp.view.child', {
    extend: 'Ext.form.field.Text',
    alias: 'widget.child',
    controller: 'child',
    title: 'Alien',
    listeners: {
        focus: function(comp) {

            alert(MyApp.app.getController('MyApp.controller.Whatever').getMyVar());
        }
    },
    renderTo: Ext.getBody()


});

//----------

//PARENT 

//Controller
Ext.define('MyApp.controller.Whatever', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.Whatever',

    myVar: "oldValue",

    init: function() {
        myVar = "newValue";

    },
    doInit: function() {
//THIS METHOD IS NECESSARY!!!
    },
    getMyVar: function() {
        return myVar;
    },
});



//View
Ext.define('MyApp.view.Whatever', {
    extend: 'Ext.form.Panel',
    alias: 'widget.Whatever',
    controller: 'Whatever',
    title: 'Hello',
    items: [{
        xtype: 'child'

    }],



    renderTo: Ext.getBody()

});

//------------------------


Ext.application({
    name: 'MyApp',


    launch: function() {

        Ext.create('MyApp.view.Whatever');

    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ExtJS初始化控制器在另一个控制器中

来自分类Dev

从一个控制器访问另一个控制器的数据

来自分类Dev

在Rails中访问另一个控制器中的一个控制器变量

来自分类Dev

如何访问另一个控制器动作中的一个控制器动作?

来自分类Dev

从另一个控制器访问变量

来自分类Dev

从Rails中的另一个控制器访问数据

来自分类Dev

在另一个控制器中访问会话数据会出错

来自分类Dev

CodeIgniter-为什么无法从另一个控制器中的一个控制器访问会话集?

来自分类Dev

如何从另一个控制器访问另一个控制器的动作

来自分类Dev

访问控制器从另一个控制器计算的属性

来自分类Dev

如何从另一个控制器访问需求控制器?

来自分类Dev

访问另一个控制器上的控制器范围

来自分类Dev

从另一个控制器触发一个控制器的“动作”

来自分类Dev

如何从一个控制器访问变量到另一个控制器

来自分类Dev

灰烬绑定控制器属性以在另一个控制器中查询

来自分类Dev

在AngularJS中的另一个控制器中使用控制器

来自分类Dev

另一个控制器中的呼叫控制器-CodeIgniter

来自分类Dev

灰烬绑定控制器属性以在另一个控制器中查询

来自分类Dev

在控制器动作中插入另一个控制器动作

来自分类Dev

如何从控制器动作中调用另一个控制器动作?

来自分类Dev

从同一控制器Angularjs中的另一个方法访问$ scope变量

来自分类Dev

JavaFX从一个控制器向另一个控制器返回正确的数据

来自分类Dev

将数据传递到导航控制器中的另一个视图控制器

来自分类Dev

从另一个访问一个Web API控制器

来自分类Dev

在Angular中的另一个控制器中使用一个控制器

来自分类Dev

从Angular中的另一个控制器刷新一个控制器

来自分类Dev

如何从ember.js中的另一个控制器更新一个控制器?

来自分类Dev

从另一个控制器中调用一个控制器内部的函数-AngularJS

来自分类Dev

Laravel-一个控制器中另一个控制器的运行方法

Related 相关文章

  1. 1

    ExtJS初始化控制器在另一个控制器中

  2. 2

    从一个控制器访问另一个控制器的数据

  3. 3

    在Rails中访问另一个控制器中的一个控制器变量

  4. 4

    如何访问另一个控制器动作中的一个控制器动作?

  5. 5

    从另一个控制器访问变量

  6. 6

    从Rails中的另一个控制器访问数据

  7. 7

    在另一个控制器中访问会话数据会出错

  8. 8

    CodeIgniter-为什么无法从另一个控制器中的一个控制器访问会话集?

  9. 9

    如何从另一个控制器访问另一个控制器的动作

  10. 10

    访问控制器从另一个控制器计算的属性

  11. 11

    如何从另一个控制器访问需求控制器?

  12. 12

    访问另一个控制器上的控制器范围

  13. 13

    从另一个控制器触发一个控制器的“动作”

  14. 14

    如何从一个控制器访问变量到另一个控制器

  15. 15

    灰烬绑定控制器属性以在另一个控制器中查询

  16. 16

    在AngularJS中的另一个控制器中使用控制器

  17. 17

    另一个控制器中的呼叫控制器-CodeIgniter

  18. 18

    灰烬绑定控制器属性以在另一个控制器中查询

  19. 19

    在控制器动作中插入另一个控制器动作

  20. 20

    如何从控制器动作中调用另一个控制器动作?

  21. 21

    从同一控制器Angularjs中的另一个方法访问$ scope变量

  22. 22

    JavaFX从一个控制器向另一个控制器返回正确的数据

  23. 23

    将数据传递到导航控制器中的另一个视图控制器

  24. 24

    从另一个访问一个Web API控制器

  25. 25

    在Angular中的另一个控制器中使用一个控制器

  26. 26

    从Angular中的另一个控制器刷新一个控制器

  27. 27

    如何从ember.js中的另一个控制器更新一个控制器?

  28. 28

    从另一个控制器中调用一个控制器内部的函数-AngularJS

  29. 29

    Laravel-一个控制器中另一个控制器的运行方法

热门标签

归档