Я использую svelte для своего нового проекта и довольно новичок в этом. У меня есть родительский компонент с несколькими дочерними компонентами. на дочернем компоненте позволяет мне выбрать дату, а затем я хочу автоматически повторно отобразить все другие дочерние компоненты, используя эту дату. На самом деле, они не будут перерисовывать, если я не использую магазин, но есть ли другой способ?
Повторно отрендерить дочерние компоненты в svelte
Ответы (1)
Вы можете использовать двустороннюю привязку с помощью bind:
, но я думаю, что это следует использовать только в особых случаях. Вы действительно можете испортить поток данных. Магазин обычно намного лучший выбор. В любом случае вот код:
<script>
import Child1 from "./Child1.svelte"
import Child2 from "./Child2.svelte"
let info = 'Hello from main';
</script>
<h1>Main</h1>
<Child1 bind:text={info}></Child1>
<Child2 msg={info}></Child2>
Рабочий пример: https://svelte.dev/repl/51daf11dcf3a4ade9b3ed525eec51967?version=3.24.1
Есть и другие способы сделать это, например: createEventDispatcher
person
grohjy
schedule
09.08.2020
Спасибо за Ваш ответ ! Я не был уверен, что этот способ сработал, это то, что я сделал (с односторонней привязкой и отправкой) ... но на самом деле ошибки здесь не было. После изменения даты я хотел вызвать историю автоматически и отфильтровать ее, но я забыл использовать $: для внесения изменений (я использую const unsubscribe = ... вместо $: unsubscribe = ...).
- person Bouffe; 09.08.2020