【问题标题】:Re render child components in svelte在 svelte 中重新渲染子组件
【发布时间】:2020-08-09 03:44:42
【问题描述】:

我正在为我的新项目使用 svelte 并且对它来说非常新。我有一个包含多个子组件的父组件。 在子组件上允许我选择一个日期,然后我想使用该日期自动重新渲染所有其他子组件。 实际上,除非我使用商店,否则它们不会重新渲染,但是还有其他方法吗?

【问题讨论】:

    标签: components render svelte-3


    【解决方案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

    【讨论】:

    • 感谢您的回答!我不确定这种方式是否有效,这就是我所做的(通过一种方式绑定和调度)......但错误实际上并不在这里。随着日期的更改,我想自动调用故事并对其进行过滤,但我忘记使用 $: 进行更改(我使用 const unsubscribe = ... 而不是 $: unsubscribe = ...)。
    猜你喜欢
    • 2019-06-01
    • 2018-08-12
    • 2020-02-13
    • 2021-02-08
    • 2020-05-01
    • 2021-12-01
    • 2021-06-07
    • 1970-01-01
    • 2020-04-18
    相关资源
    最近更新 更多