`
littie1987
  • 浏览: 133390 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

ExtJs4.1笔记

 
阅读更多

1 : ExtJs4.1之前的老版本,想要定义一个自己的class 常常需要这么做:

 

Ext.ns('My.cool');//定义namespace
My.cool.Window = Ext.extend(Ext.Window, { ... });//继承Ext.Window,  {...}里是自己的对象属性

    然而在ExtJs4.1中有了一个新的写法

Ext.define(className, members, onClassCreated);

 例如:

 

  

Ext.define('My.sample.Person', {
    name: 'Unknown',

    constructor: function(name) {
        if (name) {
            this.name = name;
        }
    },

    eat: function(foodType) {
        alert(this.name + " is eating: " + foodType);
    }
});

var aaron = Ext.create('My.sample.Person', 'Aaron');
    aaron.eat("Salad"); // alert("Aaron is eating: Salad");

 省掉了定义namespace的步骤。

 

 

2:定义静态方法

Ext.define('Computer', {
    statics: {
        instanceCount: 0,
        factory: function(brand) {
            // 'this' in static methods refer to the class itself
            return new this({brand: brand});
        }
    },

    config: {
        brand: null
    },

    constructor: function(config) {
        this.initConfig(config);

        // the 'self' property of an instance refers to its class
        this.self.instanceCount ++;
    }
});

  访问的时候可以直接用Computer.factory();

 

 

3: initConfig(config)

Ext.define('My.own.Window', {
   /** @readonly */
    isWindow: true,

    config: {
        title: 'Title Here',

        bottomBar: {
            enabled: true,
            height: 50,
            resizable: false
        }
    },

    constructor: function(config) {
        this.initConfig(config);
    },

    applyTitle: function(title) {
        if (!Ext.isString(title) || title.length === 0) {
            alert('Error: Title must be a valid non-empty string');
        }
        else {
            return title;
        }
    },

    applyBottomBar: function(bottomBar) {
        if (bottomBar && bottomBar.enabled) {
            if (!this.bottomBar) {
                return Ext.create('My.own.WindowBottomBar', bottomBar);
            }
            else {
                this.bottomBar.setConfig(bottomBar);
            }
        }
    }
});

 

var myWindow = Ext.create('My.own.Window', {
    title: 'Hello World',
    bottomBar: {
        height: 60
    }
});

   调用initConfig(config)可以给每个config生成getter和settter方法,并且生成appy方法,apply方法是在setter之前调用的方法,例如上面的applyTitle在setter之前调用,如果返回title才会调用setter 否则不会。

因此我们可以用myWindow.getTitle()来得到title的值。

 

分享到:
评论

相关推荐

    Extjs4.1 小例子(适合extjs初学者学习使用)

    标题中的"Extjs4.1 小例子"意味着这个压缩包包含了一些基础的示例代码,旨在帮助初学者快速入门。通过这些小例子,你可以了解如何使用ExtJS 4.1来创建用户界面,包括布局管理、组件系统、数据绑定、事件处理等核心...

    ExtJs4.1中文API离线BS版

    这个“ExtJs4.1中文API离线BS版”提供了完整的中文文档,方便开发者在没有网络连接或者网络环境不稳定的情况下查阅。 1. **EXTJS4.1中文API**: ExtJS 4.1的中文API文档包含了框架的所有类、方法、属性和事件,这...

    extjs4.1中文文档

    extjs4.1的中文文档,可以方便查看API

    ExtJs4.1 正式版

    ExtJs4.1 正式版,考虑到官网速度慢,放上来服务大家!

    ExtJs 4.1 中文版api

    Extjs 4.1中文版api,非常难得的一款4.1的中文api,值得大家收藏

    ExtJS 4.1 中文版API帮助文档下载

    ExtJS 4.1 中文版API [脚本娃娃---开源文档翻译组]历时一年多完整翻译。 在此友情扩散下载,非常完整详细! 学习ExtJS必备的帮助文档,而且对其中的API进行了汉化,更有利于ExtJS的学习!

    Extjs4.1中文API指南.chm

    Extjs4.1中文API.chm

    ExtJS4.1学习心得及源码

    ExtJS4.1学习心得及源码 目录 一、安装与配置 二、第一个ExtJS例子 三、表格 四、从XML读取数据表格 五、按钮 六、ComboBox控件 七、Panel面板 八、Viewport 九、表单Form 十、窗口 十一、消息对话框 十二...

    extjs4.1修改bug版本

    extjs4.1修改bug版本,已修改数字、日期等多个控件的问题

    100行代码解决ExtJs4.1合并单元格问题

    100行代码解决ExtJs4.1合并单元格问题

    extjs 4.1 beta 预览版

    EXTJS 4.1 Beta 预览版是一款先进的JavaScript框架,专用于构建富客户端Web应用程序。EXTJS的核心是其组件化的架构,提供了一系列可复用的UI组件,包括表格、面板、表单、菜单、工具栏等,使得开发者能够快速创建...

    Extjs 4.1 下拉框 Tree 的实现(mvc)

    本文将深入探讨如何在ExtJS 4.1环境中利用MVC架构实现一个功能丰富的下拉框(Tree ComboBox),并结合具体代码示例进行详细解析。 ### ExtJS 4.1 下拉框Tree实现(MVC) #### 1. MVC架构简介 MVC,即Model-View-...

    无需积分,ExtJs权威指南第一部分(ExtJs4.1)

    无需积分,ExtJs权威指南第一部分(ExtJs4.1),请两部分都下载完成后解压

    ExtJS4.1实现的mvc模式经典入门案例

    总结,本案例"ExtJS4.1实现的mvc模式经典入门案例"旨在帮助新手理解如何在ExtJS中使用MVC模式构建应用。通过模型管理数据,视图展示数据,控制器处理用户交互,以及存储与服务器通信,开发者可以构建出复杂且易于...

    extjs4.1所需包

    标题"extjs4.1所需包"指的是这个压缩包包含了ExtJS 4.1版本开发所需的全部或部分核心文件和资源。 在描述中提到"使用ExtJS4 1所需要的支持文件夹亲测有用",这意味着这个压缩包包含的文件已经过实际测试,确保它们...

    ExtJS 4.1中文版帮助文档

    学习ExtJS必备的帮助文档,而且对其中的API进行了汉化,更有利于ExtJS的学习。

    extjs4.1主题皮肤

    EXTJS 4.1是一款强大的JavaScript前端框架,用于构建富客户端应用。它的核心特性包括组件化、可扩展性以及丰富的用户界面(UI)组件。在EXTJS 4.1中,主题皮肤是改变应用程序外观的关键元素,允许开发者根据品牌或者...

    ExtJS4.1API

    EXTJS4.1API中文版,适合于4.x各版本通用,简单易懂,对于英语能力不是非常好的开发者可以借鉴。

    ExtJs4.1+Jbpm4+SSH2+Oracle10g实际项目源码

    ExtJs4.1+Jbpm4+SSH2+Oracle10g视频教程 视频教程正在上传中!先共享代码,有了代码,还买啥教程额! SSH2+JBPM+ExtJs4实战,JBPM是重点讲解。实战与demo的区别我不再多说,在以前工作中走过一些弯路,一些实现都是...

    ExtJS4.1+MVC4+Spring.NET1.3+EF5 整合项目数据库

    ExtJS4.1+MVC4+Spring.NET1.3+EF5 整合项目数据库(pdm、sql及sqlite数据库) 原文地址:http://blog.csdn.net/xz2001/article/details/8723266

Global site tag (gtag.js) - Google Analytics