照着网上的例子写了一个controller
Ext.define('SMS.controller.MenuControll',{ 
    extend: 'Ext.app.Controller',   
    refs:[ 
        {ref: 'smsmenu',selector: 'smsmenu'} 
    ], 
    init:function(){ 
        this.control({ 
            'smsmenu': { 
                itemmousedown: this.loadMenu 
            } 
        }) 
    }, 
........................................
其中smsmenu对应的是一个视图,核心代码如下
Ext.define('SMS.view.MenuView',{ 
    extend: 'Ext.tree.Panel', 
    alias: 'widget.smsmenu',      
    requires:['SMS.store.MenusData'], 
    initComponent : function(){ 
.............我的问题是在 {ref: 'smsmenu',selector: 'smsmenu'}中,我查了网上的一些说法,ref是selector的引用名字可以随便起,selector是Ext.ComponentQuery可以直接查到的组件,我现在把ref的名称改一下改为myMenu,结果运行的时候就一点反应都没有了,必须叫smsmenu,才能做出正确反应,而且,我还发现,selector的值可以随便起,比如起名smsmenuxxxx,只要ref的名字是smsmenu,运行就没问题...,这是为什么呀,我觉得按理说,selector的值应该不能随便变化吧,他应该对应试图中的alias: 'widget.smsmenu', 吧,ref的值应该是可以变得吧,哪位大虾能指点一下迷津不胜感激!!!!下面是改变后不能运行的代码Ext.define('SMS.controller.MenuControll',{ 
    extend: 'Ext.app.Controller',   
    refs:[ 
        {ref: 'myMenu',selector: 'smsmenu'} 
    ], 
    init:function(){ 
        this.control({ 
            'myMenu': { 
                itemmousedown: this.loadMenu 
            } 
        }) 
    },