Как динамически связывать события в Svelte? - PullRequest
3 голосов
/ 30 марта 2020

В JSX можно привязать несколько событий к элементу DOM следующим образом:

<input {...inputEvents}>

В Svelte это делается вручную.

<input on:input={inputHandler}>

Это становится утомительным, когда вам нужно добавить несколько обработчиков (input, blur, focus) к нескольким входам формы.

Единственный способ, который я нашел, чтобы решить эту проблему в Svelte, - использовать refs.

Например:

<input bind:this={myInput}>

А затем где-нибудь либо сделайте следующее:

myInput.oninput = (event) => {
  // do something
}

Или:

myInput.addEventListener('click', (event) => {
  // do something
})

Есть ли лучший способ динамического связывания событий в Svelte?

...