用于 v3.12 的功能在 v3.30 中不起作用
Feature used to work on v3.12 does not work in v3.30
我在这里放了 2 个精巧的 REPL,
- https://svelte.dev/repl/8449811b601449d6b0bd40cd1dd5b594?version=3.12.1
- https://svelte.dev/repl/d83532b26811443f91633dcb3ed224b4?version=3.30.0
它实现了幻灯片放映。两个 REPL 都是完全相同的代码。 (1) 有效,但 (2) 无效。过去在 v3.12 上工作的东西在 v3.30 上不工作。任何线索将不胜感激。
问题在这里:
<script>
import Slide from './Slide.svelte';
...
</script>
...
{#each buffer as Slide}
<Slide {Slide}/>
{/each}
...
每个循环中的局部 Slide
变量正在隐藏 Slide
导入,因此 Svelte 正在尝试从幻灯片数据创建一个组件,而不是 Slide
组件。
如果您更改变量名称,它会恢复生机:
<script>
import Slide from './Slide.svelte';
...
</script>
...
{#each buffer as slide}
<Slide Slide={slide}/>
{/each}
...
这对我来说似乎是正确的行为。您的问题可能是在 Svelte 中修复错误后出现的。
我在这里放了 2 个精巧的 REPL,
- https://svelte.dev/repl/8449811b601449d6b0bd40cd1dd5b594?version=3.12.1
- https://svelte.dev/repl/d83532b26811443f91633dcb3ed224b4?version=3.30.0
它实现了幻灯片放映。两个 REPL 都是完全相同的代码。 (1) 有效,但 (2) 无效。过去在 v3.12 上工作的东西在 v3.30 上不工作。任何线索将不胜感激。
问题在这里:
<script>
import Slide from './Slide.svelte';
...
</script>
...
{#each buffer as Slide}
<Slide {Slide}/>
{/each}
...
每个循环中的局部 Slide
变量正在隐藏 Slide
导入,因此 Svelte 正在尝试从幻灯片数据创建一个组件,而不是 Slide
组件。
如果您更改变量名称,它会恢复生机:
<script>
import Slide from './Slide.svelte';
...
</script>
...
{#each buffer as slide}
<Slide Slide={slide}/>
{/each}
...
这对我来说似乎是正确的行为。您的问题可能是在 Svelte 中修复错误后出现的。