Vue: Как расширить существующую директиву новыми модификаторами - PullRequest
1 голос
/ 27 марта 2020

Как продлить существующую директиву, такую ​​как: v-on с моим пользовательским modifiers.
Например, предоставляется debounce способность с .deb modifiers.

Например:

<btn v-on:click.deb="myFn"> click me </btn>

Таким образом, в основном в этом случае нужно было захватить myFn, прежде чем он перейдет к addEventListener, и деформировать его с помощью функции debounce . А затем переместите его в обычную директиву v-on, чтобы продолжить процесс.

Как мне этого достичь?

Я знаю, что могу создать my-new-directive, который выполняет весь процесс, но тогда не является универсальным c.
И проще деформировать функцию в источнике и с этим покончить.

Но более беспомощным я хочу изучить Vue способ расширения существующей директивы.


После копания в старых документах я вижу, что в прошлом Vue достигать debounce с filter

<btn v-on:click="myFn | debounce 300"> click me </btn>

Но это удалено из текущей версии (2 .x) для предпочтительной деформации функции в источнике. Лично мне это меньше нравится, потому что требуется больше прокрутки, чтобы деформировать большую функцию

...