sencha touch Как сделать навигацию похожей на Touch-Theming пример от sencha touch

Я создаю приложение, в котором мне нужно создать всплывающее окно, например сенча Touch Theming пример для выберите элементы навигации.

введите здесь описание изображения

Я попытался посмотреть его код на github для подсказки, но не Не знаю, чего мне не хватает, так это моего кода для панели заголовка и кнопки списка.

Ext.define('ov_app.view.HeaderBar', {
xtype : 'HeaderBar',
extend:'Ext.Toolbar',

config: {
           // xtype : 'toolbar',
    ui: 'plain',        
    docked: 'top',
    cls: 'menuBar',
    border:0,
    defaults:{
        border: 0,
        },
    items: [

        {
            iconCls: 'list',
            iconMask: true,
            ui: 'plain',
            action: 'ShowMoreOption',
        },{
            xtype: 'spacer'
        },{
            xtype: 'container',
            html: '<img src="resources/images/logo.png">'
        },{
            xtype: 'spacer'
        },{
            iconCls: 'home',
            iconMask: true,
            id: 'homeBtn',
            ui: 'plain',
            action: 'push-view'
        }
    ]
}
});

`

и код для моего контроллера main.js для управления действием вкладки на кнопке списка.

Ext.define('ov_app.controller.MainController', {
extend: 'Ext.app.Controller',
config:{
    control: {
        'button[action=push-view]': {
            tap: 'pushViewFunction'
       },
         'button[action=ShowMoreOption]':{
    tap: 'togglMenu'
    },
    },
},

pushViewFunction: function() {
ov_app.container.setActiveItem(0);
},
togglMenu: function(){
console.log("hello");
}
togglMenu: function(button) {
    this.getStyleBubble().showBy(button)
},
});

`

когда я пытаюсь нажать кнопку списка вверху, ошибка, которую я вижу в своей консоли, это

Uncaught TypeError: объект [object Object] не имеет метода «getStyleBubble»

а также я не видел определения для этой функции getStyleBubble ни в одном из файлов в каталогах моделей, представлений, контроллеров, магазинов. Так это определено в каких-либо файлах сенсорных каталогов или я что-то упускаю.


person Abhimanue Tamang    schedule 03.05.2013    source источник
comment
github.com/senchalearn/Touch-Theming/blob/ master/app/controller/ и найдите styleBubble в объекте конфигурации refs контроллеров   -  person Titouan de Bailleul    schedule 03.05.2013
comment
Вот как работают ссылки контроллера документы .sencha.com/touch/2.1.1/#!/api/Ext.app.Controller-cfg-refs   -  person Titouan de Bailleul    schedule 03.05.2013


Ответы (1)


В файле контроллеров нет замедления функции getStyleBubble(), а также нет ни в одном файле, если вы загружаете всю zip-папку с исходным кодом, я думаю, что они не загрузили полный исходный код. Но я нашел решение для своего ответа. Мне нужно создать новую панель и заставить ее переключаться нажатием кнопки списка, как это.

 togglMenu: function(button){
    if(!this.overlay) {
    this.overlay = Ext.Viewport.add({
        xtype: 'panel',
        modal: true,
        hideOnMaskTap: true,
        showAnimation: {
            type: 'popIn',
            duration: 250,
            easing: 'ease-out'
        },
        hideAnimation: {
            type: 'popOut',
            duration: 250,
            easing: 'ease-out'
        },
        height: 200,
        width: 200,
        //centered: true,
        styleHtmlContent: true,
        html: '<p>hello dummy content in the pop up box </p>',
        scrollable: true
    });
}
this.overlay.showBy(button);

`

введите здесь описание изображения

person Abhimanue Tamang    schedule 03.05.2013