okam-core
Version:
The extension for small program framework
49 lines (42 loc) • 1.25 kB
JavaScript
/**
* @file The component base
* @author liujiaor@gmail.com
*/
;
import componentBase from '../../base/component';
import {getCurrApp} from '../../na/index';
import EventListener from '../../util/EventListener';
import base from '../../base/base';
export default Object.assign({}, componentBase, {
/**
* The created hook when component is created
*
* @private
*/
created() {
if (!this.$isPage
|| (this.$isPage && !this.$isSupportOninit)) {
let propDescriptors = {
$app: {
configurable: true,
get() {
return getCurrApp();
}
}
};
Object.keys(base).forEach(k => {
propDescriptors[k] = {
configurable: true,
get() {
return base[k];
}
};
});
Object.defineProperties(this, propDescriptors);
}
this.$listener = new EventListener();
// call beforeCreate hook
this.beforeCreate && this.beforeCreate();
},
methods: Object.assign({}, componentBase.methods)
});