Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

320 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Base


spm package Build Status Coverage Status

Base 是一个基础类,提供 ClassEvents、Attribute 和 Aspect 支持。


使用说明

extend Base.extend(properties)

基于 Base 创建子类。例子:

/* pig.js */
var Base = require('base');

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

module.exports = Pig;

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

/* widget.js */
var Base = require('base');

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

module.exports = Widget;

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

Base 与 Class 的关系

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

/* base.js */
var Class = require('class');
var Events = require('events');
var Aspect = require('./aspect');
var Attribute = require('./attribute');

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

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

    ...
});

...

Releases

Packages

Used by

Contributors

Languages