0

以下问题:我得到了viewClass“connectWin”和controllerClass“connectWinController”。整个程序从视图“connectWin”开始,所以如果点击“开始”按钮,connectWinController 应该隐藏“connectWin”,做一些事情并打开另一个视图“orderView”。但是,如果我点击“开始”按钮,我的控制台上会出现错误。

继承人的代码:

应用程序.js:

Ext.Loader.setConfig({

});


Ext.application({

    name: 'SenchaDiagApp',



    requires: [
        'Ext.MessageBox',
        'Ext.field.Select',
        'Ext.form.FieldSet',
        'Ext.form.Panel',
        'Ext.Img'
    ],

    refs: {

        connectWin: 'connectWin'
    },  

    launch: function() {
        console.log("App launch!!"); 



         connectWin= {

            layout: 'fit',
                items: [{

                    xtype : 'connectWin'
                }],
            }; 
        Ext.Viewport.add(connectWin);   

    }

});

连接赢

Ext.define('AM.view.connectWin' , {

    extend: 'Ext.Panel',  
    alias : 'widget.connectWin', 


    config:{
        ui : 'light',
        items: [
            {

                 xtype:         'panel',       
                 scrollable:    false,
                 centered:      true,
                 modal:         true,
                 width:         '100%',
                 height:        '50%', 

                    items: [ 

                        {

            xtype:      'titlebar',
                        docked:     'top',
                        height:     '110px',
                id:         'connectTitleID',
                        title:      'Login'
                    },

                {
                        xtype:       'spacer'
                    },




                {
                        xtype:      'titlebar', // 2 Titlebar unten 
                        docked:     'bottom',
                        height:     '110px',

                              items:[                       

                               {   
                                     xtype:     'button',
                                     align:     'left',
                     height:    '100px',
                     width: '200px',
                                     action:     'bestellen',
                     text:      'Start',
                                   }],


            }],              
        },
    }); 

连接WinController:

Ext.define('AM.controller.connectWinController', {

    extend: 'Ext.app.Controller',

    config:{


                refs: {

                connectWin: 'connectWin'

                                 }
            },

    init: function() {

    this.control(
          'connectWin button[action=bestellen]':{

           tap: this.verbindungBestellung 

        },
    },


          verbindungBestellung : function(){
                            console.log("Start");
                connectWin.hide()  **//Now it says: connectWin is not defined?**


                             var orderView = Ext.create('AM.view.orderView');
                             Ext.Viewport.add(orderView);
                    }


        });
                                    '
4

2 回答 2

0

在控制器中,要获取您的视图的参考,

参考:{

connectWin: { autoCreate:true,selector:'#connectWin',xtype:'connectWin' },

}

使用 xtype:'connectWin' 而不是别名...

于 2014-06-05T09:31:05.457 回答
0

声明每个视图、控制器、模型,将您在应用程序中使用的任何内容存储在app.js

Ext.application({       
    name: 'AppName',
    requires: [],
    models:['Model-1','Model-2'],
    controllers : ['Main'],
    views : ['View-1','View-2'],
    stores : [ 'Store-1' , 'Store-2'],

    launch : function() {
        Ext.fly('appLoadingIndicator').destroy();
        Ext.Viewport.add({
            xclass: 'AppName.view.View-1',
            autoDestroy: false,
            showAnimation:false
        });

    }
});
于 2014-06-05T09:27:24.547 回答