Base

Base 是一个基础类,提供 ClassEventsAttrsAspect 支持。

使用说明

extend Base.extend(properties)

基于 Base 创建子类。例子:

var Base = FNX.include('base/base');

var Pig = Base.extend({
    attrs: {
        name: ''
    },
    talk: function() {
        alert('我是' + this.get('name'));
    }
});

继承 Base 可覆盖 initialize 构造函数, 但需要调用父类构造函数,如 FNX 的 widget 定义了组件的生命周期

var Base = FNX.include('base/base');

var Widget = Base.extend({
    initialize: function(config) {
        Widget.superclass.initialize.call(this, config);
        this.parseElement()
        this.initProps()
        this.delegateEvents()
        this.setup()
    },
    ...
});

Base 继承和混入了一下功能,可查看文档 :

Base 与 Class 的关系

Base 是使用 Class 创建的一个基础类,默认混入了 EventsAttrsAspect 模块:

/* base.js */
var Core = FNX.include('base/base');
var Class = FNX.include('class/class');
var Events = FNX.include('events/events');
var Aspect = FNX.include('base/aspect');
var Attrs = FNX.include('base/attrs');

var Base = Class.create({
    Implements: [Events, Aspect, Attrs],

    initialize: function(config) {
        ...
    },

    ...
});

...