在 svelte 中重新渲染子组件
Re render child components in svelte
我正在为我的新项目使用 svelte,而且对它还很陌生。我有一个包含多个子组件的父组件。
在子组件上允许我 select 一个日期,然后我想使用这个日期自动重新渲染所有其他子组件。
实际上,除非我使用商店,否则它们不会重新呈现,但还有其他方法吗?
您可以使用 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
我正在为我的新项目使用 svelte,而且对它还很陌生。我有一个包含多个子组件的父组件。 在子组件上允许我 select 一个日期,然后我想使用这个日期自动重新渲染所有其他子组件。 实际上,除非我使用商店,否则它们不会重新呈现,但还有其他方法吗?
您可以使用 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