我只是从 Sencha Touch 1.x 迁移到 Sencha Touch 2,我找不到在视图之间传递参数的方法。
假设我必须查看: Place(包含所有地点的列表) PeopleAtPlace(每个地点的人员列表)
现在我需要做的是将按下的地点的 id 传递给 peopleatplace 视图,以便它可以获取该特定视图的人员。
我一直在阅读 Sencha 的文档,但这让我很困惑。
有人可以帮我吗?代码片段对我有很大帮助。
我只是从 Sencha Touch 1.x 迁移到 Sencha Touch 2,我找不到在视图之间传递参数的方法。
假设我必须查看: Place(包含所有地点的列表) PeopleAtPlace(每个地点的人员列表)
现在我需要做的是将按下的地点的 id 传递给 peopleatplace 视图,以便它可以获取该特定视图的人员。
我一直在阅读 Sencha 的文档,但这让我很困惑。
有人可以帮我吗?代码片段对我有很大帮助。
控制器可以成为不同视图之间的粘合剂。我不知道你究竟有什么样的观点,但以下代码可以作为基础:
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);
}
});