Extjs4.2边学边用之Controller()

来源:互联网 发布:为什么脸会变宽 知乎 编辑:程序博客网 时间:2024/06/04 19:38

二、Controller()

Ext.define('eval.controller.BananerCtrl',{extend : 'Ext.app.Controller',refs : [ {ref : 'banner',selector : "#banner"},{ref : 'mainPanel',selector : "#mainPanel"}],init : function() {this.control({})}})

Ext.define()//自己定义一个类

extend:继承一个类,一般在controllers文件下的文件,都要继承Ext.app.Controller

refs : 反射机制  selector : ‘#banner’  在页面中获取id=banner的id;这个id会通过ref产生getBanner()方法

init :初始化;对数据进行初始化


getBanner()方法可以这样用:

在id=banner的方法中:

var banner= Ext.create("eval.view.Banner",{itemId:"banner"});//这个是在application自动加载:autoCreatViewport:true

在eval.view.Banner中

Ext.define("eval.view.Banner",{extend:'Ext.panel.Panel',region: 'north',        bbar:new Ext.Toolbar({            itemId:'banerBBar',             items :[{                itemId:'userName',                 xtype:'tbfill'        }]          }),        showUserName : function() {var banner = this;banner.getDockedComponent("banerBBar").getComponent("userName").setText("您好:ryan");});

上面通过refs可以调用加载好的eval.view.Banner类;

var banner = this.getBanner().showUserName();//

相当于通过refs引入类eval.view.Banner。可以调用这个类中的方法




0 0