未捕获的ReferenceError:未定义connectWin! SenchaTouch

时间:2014-02-25 09:25:40

标签: sencha-touch undefined-reference referenceerror

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

继承守则:

app.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);   

    }

});

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',
                                   }],


            }],              
        },
    }); 

connectWinController:

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);
                    }


        });
                                    '

2 个答案:

答案 0 :(得分: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
        });

    }
});

答案 1 :(得分:0)

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

REF:{

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

}

使用xtype:'connectWin'而不是alias ...