3

我只是从 Sencha Touch 1.x 迁移到 Sencha Touch 2,我找不到在视图之间传递参数的方法。

假设我必须查看: Place(包含所有地点的列表) PeopleAtPlace(每个地点的人员列表)

现在我需要做的是将按下的地点的 id 传递给 peopleatplace 视图,以便它可以获取该特定视图的人员。

我一直在阅读 Sencha 的文档,但这让我很困惑。

有人可以帮我吗?代码片段对我有很大帮助。

4

1 回答 1

7

控制器可以成为不同视图之间的粘合剂。我不知道你究竟有什么样的观点,但以下代码可以作为基础:

Ext.define('MyApp.controller.TestController', {
    extend : 'Ext.app.Controller',

    config : {
        views : [  // you need to list all views your controller will use
            'Place', 
            'PeopleAtPlace'
        ],

        refs : {
            place : 'place',  // ComponentQuery used to find the view e.g. xtype, id, etc of the view 
            peopleAtPlace : 'peopleAtPlace'
        },

        control : {
            place : {
                select : 'onPlaceSelected' // use the appropriate event 
            }
        }
    },

    onPlaceSelected : function (view, record) {
        var peopleAtPlaceView = this.getPeopleAtPlace(); // generated by Sencha from the ref property

        // now you have the reference to the target view, you can put your logic here
        peopleAtPlaceView.doSomething(record);
    }
});
于 2012-09-12T20:25:18.280 回答