OnEvent декоратор компонента класса vue
У меня была эта идея для декоратора свойств, а именно, что-то вроде:
@OnEvent('asd')
test(value: string): void {
this.test = value;
}
который будет "переводить" на
this.$root.$on('asd', (value) => {
this.test = value
}
Таким образом, этот декоратор будет регистрировать onChange для целевой функции с указанным именем события. Тем не менее, я не имею ни малейшего представления сделать что-то подобное.
Я видел декораторы @On(), но этот, кажется, не работает для меня вообще, и я думаю, что он также поддерживает только до Vue-1.
Я также попытался использовать @Emit, но безрезультатно, для справки, вот @Emit из vue-property-decorators:
export function Emit(event) {
return function (target, key, descriptor) {
key = hyphenate(key);
var original = descriptor.value;
descriptor.value = function emitter() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (original.apply(this, args) !== false)
this.$emit.apply(this, [event || key].concat(args));
};
};
}
У меня есть небольшой опыт работы с декораторами, но я не понимаю, как вы можете использовать это.$ On в декораторе, он просто выдает мне ошибки, если кто-нибудь может сообщить мне, если это вообще возможно, спасибо!