Sencha Touch 2:用于在navigationView的navigationBar中推送新视图的按钮

时间:2012-08-02 08:32:02

标签: sencha-touch-2

我尝试在navigationView的navigationBar中添加一个按钮,可以在点击按钮时按下新视图。我需要帮助,因为我不明白我该怎么做。我的按钮没问题,我可以在我的控制台中记录点按动作,但我无法推送新视图。我需要有一个停靠在我的tabbar的视图...... 我想要的实际上是建议用户改变视图的可能性:使用按钮他可以切换视图:导航/列表到轮播(具有来自商店的相同数据)。导航视图和我的结果列表都可以,但我无法通过点击按钮添加轮播视图的可能性......

我的第一个问题是,有可能吗?如果是,那我该怎么做?

我的代码:

Ext.define("MyApp.view.Annuaire", {
extend: 'Ext.navigation.View',

xtype: 'annuairepanel',

requires: [
    'Ext.dataview.List',
    'Ext.data.proxy.JsonP',
    'Ext.data.Store'
],

config: {
    /*IMPORTANT : évite une erreur de clsReplace...*/
    autoDestroy: false,
    title: 'Annuaire',
    iconCls: 'address_book',
    defaultBackButtonText: 'Retour',

            navigationBar: {
    items: [
        {
            xtype: 'button',
            id: 'carousel-annuaire',
            iconCls: 'more',
            iconMask: true,
            align: 'right',
            listeners: {
                'tap': function() {
                        console.log('tap !');
                }
            }
        }
    ]
    },

    items: [
    {
        xtype: 'list',
        id: 'liste-annuaire',
        cls: 'x-liste-annuaire',
        itemTpl: [ 
                 '<div class="vignette-liste" style="background-image:url({_ann_www_pub});"></div>',
                 '<div class="titre-liste">{post_title}</div>',
                 '<div class="categories-liste">{categories}</div>'
                 ].join(''),
        title: 'Annuaire',
        grouped:true,
        indexBar:true,

    store: 'Annuaires',                                    
    }
    ]

}});

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您是否混淆使用NavigationView的原因?它的用例是创建一个Stacks的堆叠池(Ext.Panel和/或Ext.form.Panel)并执行navi.push(view)/navi.pop()以便在例如中轻松导航。主 - 细节关系。

首先,它并不打算将List添加为Navi View的直接子项。

最好的做法是使用Sencha MVC 控制器。我建议你先阅读Sencha doc页面中的基本概念: http://docs.sencha.com/touch/2-0/#!/guide/controllershttp://docs.sencha.com/touch/2-0/#!/guide/views和其他指南。

我不是说有完美的入门资源,但有一些东西。 如果你想更仔细地看看Sencha买一本商业书籍。

提示,永远不要购买耶稣加西亚的书

我更喜欢来自 Packt 发布商的问题。

干杯,奥列格