Svelte не обновляет редактируемый элемент при втором триггере обновления

#svelte #svelte-3

#svelte #svelte-3

Вопрос:

При использовании атрибута contentEditable или значения ввода svelte выполняет только первое обновление DOM. Когда я пытаюсь запустить обновление во второй раз, оно ничего не делает.

  • Он обновляет не редактируемые элементы в том же сценарии.

  • Объединение динамических данных, таких как Date.now, приводит к принудительному обновлению.

Это ошибка svelte или я что-то упускаю?

Ссылка на пример REPL

Ответ №1:

Используется bind:innerHTML={value} для привязки значения к редактируемому содержимому div. Проверьте этот официальный repl от svelte

 <div contenteditable="true" bind:innerHTML={value}></div>
<div>{value}</div>
<button on:click={handle}>Update trigger</button>
  

Комментарии:

1. Но что, если я не хочу двусторонней привязки? Я не хочу, чтобы редактирование элемента вызывало обновление переменной. Все, что я хочу, это иметь возможность повторно отображать при изменении значения переменной.

2. Прежде всего, спасибо, что помогли разобраться в этом 😉 Описанный выше подход действительно приведет к повторному отображению простых значений, но это не поможет с объектами. Я создал немного более сложный пример REPL с инструкциями и комментариями, которые устраняют такую проблему.