init
This commit is contained in:
22
fuintUniapp/components/mixins/observer/props.js
Normal file
22
fuintUniapp/components/mixins/observer/props.js
Normal file
@@ -0,0 +1,22 @@
|
||||
export function observeProps(props) {
|
||||
if (!props) {
|
||||
return;
|
||||
}
|
||||
Object.keys(props).forEach(key => {
|
||||
let prop = props[key];
|
||||
if (prop === null || !('type' in prop)) {
|
||||
prop = { type: prop };
|
||||
}
|
||||
let { observer } = prop;
|
||||
prop.observer = function () {
|
||||
if (observer) {
|
||||
if (typeof observer === 'string') {
|
||||
observer = this[observer];
|
||||
}
|
||||
observer.apply(this, arguments);
|
||||
}
|
||||
this.set();
|
||||
};
|
||||
props[key] = prop;
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user