`

Ext.util.Observable用法

    博客分类:
  • ext
阅读更多
Ext.util.Observable

闲话不说,先来段说明:
Base class that provides a common interface for publishing events. Subclasses are expected to to have a property "events" with all the events defined, and, optionally, a property "listeners" with configured listeners defined.

简单一句话,”鸡肋“(基类)为了发布事件提供了一个通用接口,如果谁想在自己自定义的插件中安插自己的“奸细”,那好,恭喜你,找到突破口了,就是它,接下来举例子:
Ext.namespace('Hanshibin.user');

Hanshibin.user.name=Ext.extend(Ext.util.Observable,{
    constructor:function(config){
        this.name=config.name;
        this.id=config.id;
        this.addEvents("fire","quite");
        this.listeners=config.listeners;
        Hanshibin.user.name.superclass.constructor.call(this,config);
    }
});

var username=new Hanshibin.user.name({
    name:"hanshibin",
    id:"001",
    listeners:{
        "fire":function(){alert('2222');}
    }
});

username.fireEvent('fire');



稍作解释:

1、 this.addEvents("fire","quite");
如果不加“fire”,我们还会看到我们的结果,因此,事件的触发和这里没有关系。
这个的作用就是: to have a property "events".
events属性里面会显示你添加事件,这样,你再on("绑定事件")的时候就会执行,否则就报error了。
如果你不想on,那就可以不用注册,直接在listener中添加即可。

2、constructor:
一定要实现它,否则你new一个对象,就不会给你初始化参数了,observable就指着它给你做饭那。

3、可能有的人对这里   Hanshibin.user.name.superclass.constructor.call(this,config);有点疑问,
其实这个就是 js的普通触发函数,在执行的时候实际上执行的是this这个对象的constructor函数。











引自:
http://tieba.baidu.com/p/802936612











-
分享到:
评论

相关推荐

    Ext.plugins.TDGi.tabScrollerMenu插件的使用

    通过分析源码,我们可以看到它定义了一个名为`TDGi.tabScrollerMenu`的类,继承自`Ext.util.Observable`,并实现了与Ext JS TabPanel组件的集成。插件的核心方法包括初始化、添加和移除选项卡,以及处理下拉菜单的...

    Ext Js权威指南(.zip.001

    5.3.2 为组件添加事件接口:ext.util.observable / 188 5.3.3 为组件绑定事件 / 189 5.3.4 内部事件的触发过程 / 192 5.3.5 移除事件 / 194 5.4 特定功能的事件对象 / 196 5.4.1 延时任务:ext.util....

    ext事件模型

    通过本文对`ext事件模型`的介绍,我们了解了`Ext.lib.Event`和`Ext.util.Observable`这两个核心组件的功能与用法。掌握了这些知识,开发者就能够更加高效地处理页面中的各种事件,构建出更加强大和复杂的前端应用...

    Ext_类的详细介绍

    ### Ext_类详解 #### 一、Ext.lib.Event 类 **Ext.lib.Event** 是一个工具类,封装于 **adapter** 层,旨在提供一个统一的接口...理解这两个类的工作原理和使用方法对于高效地使用 ExtJS 开发复杂用户界面至关重要。

    Ext API详解--笔记

    `EXT核心API详解(一) - Ext类.txt`介绍了Ext的基础类,包括`Ext.util.Observable`(观察者模式的实现)、`Ext.app.Application`(管理应用生命周期)等。理解这些类的用法对于构建可维护的应用至关重要。 4. **Ext...

    ExtJs4新类库特性详解及JS新语法扩展.docx

    - **源文件组织**:类名与源文件路径匹配,如`Ext.util.Observable.js`。所有类应存储在`src`目录下,并遵循相应的路径结构。 - **方法和成员变量**:方法和成员变量的命名遵循驼峰命名法,首字母小写。例如,`...

    精通JS脚本之ExtJS框架.part1.rar

    4.4.4 Ext.util.Observable事件 4.4.5 Ext.EventManager事件 4.4.6 Ext.EventObject事件 4.5 各种事件登记方式 4.5.1 传统式登记 4.5.2 内联式登记 4.5.3 Dom Level2登记 4.6 高级组件事件 4.7 ExtJS键盘...

    EXT扩展Htmleditor,在工具栏中添加插入图片按钮,可选择图片插入到编辑器中(也可添加其他功能按钮)

    1. 定义插件:首先,你需要创建一个EXT插件类,继承自`Ext.EditorPlugin`或`Ext.util.Observable`,并在构造函数中初始化按钮配置。 ```javascript Ext.ns('MyPlugins'); MyPlugins.ImageInsert = function(config)...

    EXtJS学习 EXtJS学习

    var BaseClass = Ext.extend(Ext.util.Observable, { arr: [], init: Ext.emptyFn }); var SubClass1 = Ext.extend(BaseClass, { init: function() { this.arr.push(1); } }); var SubClass2 = Ext.extend...

    4.0Ext 类系统

    例如,`Ext.util.Observable` 对应 `path/to/src/Ext/util/Observable.js`。 4. **方法和变量** 方法名和变量名也应遵循驼峰命名法,如 `encodeUsingMd5()` 和 `isGoodName`。 5. **静态属性** 对于常量,尤其是类的...

    精通JS脚本之ExtJS框架.part2.rar

    4.4.4 Ext.util.Observable事件 4.4.5 Ext.EventManager事件 4.4.6 Ext.EventObject事件 4.5 各种事件登记方式 4.5.1 传统式登记 4.5.2 内联式登记 4.5.3 Dom Level2登记 4.6 高级组件事件 4.7 ExtJS键盘...

    Ext 3.0 中文API CHM

    10. **事件系统**:Ext.util.Observable是所有可观察对象的基类,提供了事件监听和触发机制,是实现组件间通信的关键。 11. **国际化支持**:Ext 3.0 提供了本地化支持,允许开发者轻松地将应用翻译成不同语言。 ...

    Ext中文帮助文档(Ext常见界面源码,及类库方法详解)

    2. Ext.util.Observable:观察者模式实现,用于事件监听和触发。 3. Ext.data.Store:数据存储,与数据源进行交互,支持远程数据加载和本地数据存储。 4. Ext.grid.GridPanel:表格组件的主要类,包含了数据绑定、列...

    老师整理的extjs学习笔记

    ExtJS 中的所有组件都继承自 `Ext.Component` 类,而 `Ext.Component` 又继承自 `Ext.util.Observable` 类。这意味着所有的组件都具有事件管理的能力。 **3.2 ExtJS 常用组件的继承关系及其管理** ExtJS 提供了...

    Ext+JS深入浅出.pdf

    - **Ext.util.Observable**:用于观察对象的变化,是Ext JS中实现事件驱动的核心。 - **Ext.EventManager**:用于管理事件监听器。 - **Ext.EventObject**:封装了事件对象,提供了一系列方法来处理事件。 - **...

    Extjs4 API文档阅读(一)——类系统(Class System)

    - `Ext.util.Observable` 存放在 `path/to/src/Ext/util/Observable.js` - `Ext.form.action.Submit` 存放在 `path/to/src/Ext/form/action/Submit.js` - `MyCompany.chart.axis.Numeric` 存放在 `path/to/src/My...

    Ext+JS深入浅出

    此外,还提供了一系列用于处理事件的类,如 `Ext.lib.Event`、`Ext.util.Observable` 等。 - **核心组件**:EXTJS 包含了一系列核心组件,如 `Ext.Component`、`Ext.BoxComponent`、`Ext.Container`、`Ext.Panel` 和...

Global site tag (gtag.js) - Google Analytics