首页 > 解决方案 > 苗条的组件不刷新

问题描述

我正在与 svelte 合作开展个人项目(springboot + svelte + heroku)。我很难理解为什么在尝试重新显示组件时组件不刷新:

这是一个要点:https ://svelte.dev/repl/a69ac7502677400081122453aa45dfbb?version=3.7.1

第一个app显示组件首先点击【前进】显示组件其次。但是然后单击 [backward] 不会像我预期的那样带回组件 First。

我的总体想法是使用 svelte 来管理面向标签的应用程序:每个标签都是一个组件和子组件。单击选项卡将显示和隐藏选项卡组件。即使它对第一个选项卡更改效果很好,但接下来会失败。

我很确定有可能得到这样的行为,但我想我一定误解了一些东西......

有人可以解释我吗?

谢谢

标签: sveltesvelte-componentsvelte-3

解决方案


在您正在调度的第二个组件中gothird

function forw() {
    dispatch('gothird');
}

但是您在使用组件时仍在使用该on:next道具

<Second on:back={ back } on:next={gothird}/>

您需要更新一个或另一个,以便使用您实际从组件调度的事件。


推荐阅读