#svelte #svelte-3
#svelte #svelte-3
Вопрос:
При использовании атрибута contentEditable или значения ввода svelte выполняет только первое обновление DOM. Когда я пытаюсь запустить обновление во второй раз, оно ничего не делает.
-
Он обновляет не редактируемые элементы в том же сценарии.
-
Объединение динамических данных, таких как Date.now, приводит к принудительному обновлению.
Это ошибка svelte или я что-то упускаю?
Ответ №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 с инструкциями и комментариями, которые устраняют такую проблему.