anima-base

1.0.0 • Public • Published

Base


Build Status Coverage Status

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


使用说明

extend Base.extend(properties)

基于 Base 创建子类。例子:

/* pig.js */
define(function(require, exports, module) {
    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 */
define(function(require, exports, module) {
    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 */
define(function(require) {
 
    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) {
            ...
        },
 
        ...
    });
 
    ...
});

Bitdeli Badge

Readme

Keywords

Package Sidebar

Install

npm i anima-base

Weekly Downloads

3

Version

1.0.0

License

none

Last publish

Collaborators

  • jaredleechn
  • smbey0nd
  • yuanfei.gyf