日期:2014-05-16 浏览次数:20452 次
/** * 组件扩展 - 登录窗口 */ Ext.define('App.LoginWindow', { extend : 'Ext.Window', title : '登录', initComponent : function() { Ext.apply(this, { items : [{ xtype : 'textfield', name : 'username', fieldLabel : '账号' }, { xtype : 'textfield', name : 'password', fieldLabel : '密码' }] }); this.callParent(arguments); } });
/** * 音乐人 */ Ext.define('Model.Musician', { extend : 'Model.Person', requires: ['Model'], mixins : { guitar : 'Interface.CanPlayGuitar', compose : 'Interface.CanComposeSongs', sing : 'Interface.CanSing' } }); /** * 混入用法 */ /* var someone = Ext.create('Model.Musician'); someone.getMixin('guitar').playGuitar(); // or someone.playGuitar(); */
/** * 玩吉它 */ Ext.define('Interface.CanPlayGuitar', { playGuitar : function() { Ext.Msg.alert('info', 'Play Guitar'); } });
/** * 人 */ // ExtJS3 /* Model.Person = Ext.extend(Object, { name : 'noname', getName : function() { return this.name; }, resetName : function() { this.setName('noname'); }, setName : function(newName) { this.name = this.applyName(newName) || newName; }, applyName : function(newName) { } }); */ // ExtJS4 框架会自动上面的四个方法. Ext.define('Model.Person', { config : { name : 'noname' }, // @override applyName : function(newName) { // 值改变时,执行一些动作 } });
/** * 命名空间 */ Ext.ns('Model');
/** * 音乐人 */ Ext.define('Model.Musician', { extend : 'Model.Person', requires: ['Model'], mixins : { guitar : 'Interface.CanPlayGuitar', compose : 'Interface.CanComposeSongs', sing : 'Interface.CanSing' } });
statics : [ count : 0, fun : function() {} ]