Svelte跨文件网格元素crossfade过渡仅触发fallback的原因与解决
Svelte跨组件使用crossfade过渡失效问题
- 拆分组件的REPL演示:网格与动画元素分属两个Svelte文件
- 单文件正常工作的REPL演示:网格与元素在同一文件中,过渡动画正常
Svelte的crossfade过渡动画本应通过匹配key,营造元素从一个区域移动到另一个区域的视觉效果。
我通过store跟踪元素的索引,在each块生成的网格单元格中添加if块,对比单元格索引与元素索引,以此实现元素在网格单元格间移动。
当元素与网格分属不同文件时,元素在单元格间移动仅会触发fallback动画;但放在同一文件中时动画正常工作,然而单文件会导致组件过于庞大,难以维护。我已遵循文档所有说明,但文档缺乏相关边缘案例与最佳实践的信息。
为何该过渡在单组件文件中正常工作,拆分到两个文件后却失效?是否有办法让它在跨文件场景下正常工作?感谢您的帮助!
更新:感谢选中的答案,我意识到需要在不会被卸载的位置实例化crossfade函数,最终创建了transitions.ts并导入到Ball.svelte文件中。
内容的提问来源于stack exchange,提问作者Ned
相关产品推荐
相关产品推荐

