【发布时间】:2021-03-24 08:38:08
【问题描述】:
我在 Svelte 做一个 SPA,想知道是否可以创建一个自定义存储来在组件之间来回切换。
这是一个工作示例,我使用字符串数组来展示方法。 https://svelte.dev/repl/1f9e72105e8d45e0bd6df61b304fd257?version=3.31.0
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 中设置组件数组。
【问题讨论】:
-
你是说你希望数组中的每个元素都是一个单独的组件,而不是像你的例子中那样的字符串?
-
是的 ^^ 类似
const screens = [Component_A, Component_B, Component_C]
标签: javascript svelte svelte-3 svelte-component svelte-store