@smyld/vue-property-decorator
Version:
SMYLD Fork version of vue-property-decorator to port the latest version of vue-class-component
21 lines (20 loc) • 716 B
JavaScript
import { createDecorator } from 'vue-class-component';
//import { Constructor } from 'vue/types/options'
import { applyMetadata } from '../helpers/metadata';
/**
* decorator of model
* @param event event name
* @param options options
* @return PropertyDecorator
*/
export function Model(event, options) {
if (options === void 0) { options = {}; }
return function (target, key) {
applyMetadata(options, target, key);
createDecorator(function (componentOptions, k) {
;
(componentOptions.props || (componentOptions.props = {}))[k] = options;
componentOptions.model = { prop: k, event: event || k };
})(target, key);
};
}