首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Svelte自定义存储,用于在组件之间来回移动

Svelte自定义存储,用于在组件之间来回移动
EN

Stack Overflow用户
提问于 2020-12-13 22:15:15
回答 1查看 78关注 0票数 1

我正在用Svelte做一个SPA,我想知道是否可以创建一个自定义存储来在组件之间来回移动。

这是一个工作示例,其中我使用字符串数组来显示方法。https://svelte.dev/repl/1f9e72105e8d45e0bd6df61b304fd257?version=3.31.0

代码语言:javascript
运行
复制
import { writable } from 'svelte/store'

function create_navigation() {
  const screens = ['Step 1', 'Step 2', 'Step 3', 'Step 4', 'Step 5']
  const { subscribe, set } = writable(screens[0])
  let n = 0
  
  return {
    subscribe,
    next: () => (n < screens.length - 1 && n++, set(screens[n])),
    prev: () => (n > 0 && n--, set(screens[n])),
    reset: () => set(screens[0])
    }
}

export const screen = create_navigation()

如果我们将一些组件导入到我的store中并创建一个组件数组,它将不会呈现。可能我遗漏了一些概念,因此任何帮助都将非常感谢:)

现在,为了解决这个问题,我在store中使用数字,然后在App.svelte中设置组件数组。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-13 22:47:47

您可以创建组件数组,而不是字符串数组,如下所示:

代码语言:javascript
运行
复制
import { writable } from 'svelte/store'
import Screen1 from './Screen1.svelte'
import Screen2 from './Screen2.svelte'

function create_navigation() {
  const screens = [Screen1, Screen2]
.
.
.

并在App.svelte组件中使用<svelte:component this={$screen}/>

示例:https://svelte.dev/repl/5752ba81b6c94b80b31131c02431e8ac?version=3.31.0

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65276604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档