1

我遵循 Sencha 提供的文档,为自己制作了一个项目列表,将其转换为导航视图和以下详细信息页面。这是一个多对一的解决方案,如下图所示:

多对一解决方案

使用此解决方案,我可以将列表中项目的标题发送到详细信息视图中,然后键入如下内容: [code]` Ext.define('navigation.view.PresidentDetails', { extend: 'Ext.Panel', xtype : '总统详情',

config: {
    styleHtmlContent: true, 
    scrollabe: 'vertical',
    title: 'Details',
    tpl: 'Hello {firstName}!'
}

}); `[/代码]

看来我不能在这段代码中使用语句,所以我可以根据我点击的项目指定我想要的内容。那么我的问题是 - 我如何创建一个更静态的视角?我可以创建一对一的关系吗?(见下图)

1对1解决方案

任何人都知道如何实现这一目标?我目前正在使用 MVC,这是“我的”(阅读:Senchas)控制器的当前状态,只是为了掌握它:

Ext.define('navigation.controller.Main', {
extend: 'Ext.app.Controller',

config: {
    refs: {
        main: 'mainpanel'
    },
    control: {
        'presidentlist': {
            disclose: 'showDetails'
        }
    }
},

showDetails: function(list, record) {
    this.getMain().push({
        xtype: 'presidentdetail',
        data: record.data
    });
}

});

4

1 回答 1

0

这个问题现在已经解决了,而且比我想象的要容易得多。我在文档中查找了 itemTap 事件,并使用项目的索引作为 ID 并编写了这个小片段。

showDetailsonItemTap: function(list, index, target, record) {
    var page;
    switch(index) {
        case 0:
            page = 'presidentdetail';
            break;
        case 1: 
            page = 'presidentdetail2';
            break;
    }
    this.getMain().push({
                xtype: page,
                data: record.data
        });
    console.log(index);
}

之后,它只是手动创建视图并在 switch 语句中点击它们的 xtype。

于 2013-03-21T13:28:20.390 回答