使用createAction创建非结构型组件

This commit is contained in:
张磊 2015-06-11 07:36:01 +08:00
parent 97f41f92ce
commit 1d02740ef1
4 changed files with 49 additions and 16 deletions

31
dist/nuclear.js vendored
View File

@ -62,13 +62,7 @@ Nuclear._mixObj = function (obj) {
parent: this.parent
};
this._nuclearRender(this._nuclearRenderInfo);
} else {
this.option = selector;
if (this.install) {
this.install();
}
}
}
}
//加if防止子类赋值undefined丢失父类方法
@ -148,6 +142,29 @@ Nuclear._mixObj = function (obj) {
}
}
Nuclear._minActionObj = function (obj) {
obj.ctor = function (option) {
this.option = option;
if (this.install) {
this.install();
}
}
}
Nuclear.createAction = function (obj) {
Nuclear._minActionObj(obj)
if (!obj.statics) obj.statics = {};
obj.statics.createAction = function (obj) {
Nuclear._minActionObj(obj);
return this.extend(obj);
}
return Nuclear.Class.extend(obj);
}
Nuclear.throttle = function (func, wait, options) {
var context, args, result;
var timeout = null;

2
dist/nuclear.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -19,7 +19,7 @@
<script src="../dist/nuclear.js"></script>
<script type="text/javascript">
var Drag = Nuclear.create({
var Drag = Nuclear.createAction({
install: function () {
var option = this.option;
this.currentPosition = { x: 0, y: 0 };

View File

@ -43,13 +43,7 @@ Nuclear._mixObj = function (obj) {
parent: this.parent
};
this._nuclearRender(this._nuclearRenderInfo);
} else {
this.option = selector;
if (this.install) {
this.install();
}
}
}
}
//加if防止子类赋值undefined丢失父类方法
@ -129,6 +123,28 @@ Nuclear._mixObj = function (obj) {
}
}
Nuclear._minActionObj = function (obj) {
obj.ctor = function (option) {
this.option = option;
if (this.install) {
this.install();
}
}
}
Nuclear.createAction = function (obj) {
Nuclear._minActionObj(obj)
if (!obj.statics) obj.statics = {};
obj.statics.createAction = function (obj) {
Nuclear._minActionObj(obj);
return this.extend(obj);
}
return Nuclear.Class.extend(obj);
}
Nuclear.throttle = function (func, wait, options) {
var context, args, result;
var timeout = null;