多个自定义 Svelte 存储在一个文件中

Multiple custom Svelte stores in one single file

我需要在一个 JS 文件中包含多个 svelte 存储。但是目前的语法并不容易让我这样做。

var store1
const {subscribe, set, update} = writable(store1)
export const Store1 = {
    subscribe,
    function1:function1(),
    function2:function2()
}

var store2
const {subscribe, set, update} = writable(store2)
export const Store2 = {
   subscribe,
   function3:function3(),
   function4:function4()
}

问题是因为这一行我声明了两个“订阅”、“设置”和“更新”:

const {subscribe, set, update} = writable()

但我不能给它们起不同的名字,因为它们不存在于“可写”中。

您既可以不解构 writable 返回的对象,也可以分配给新的变量名称:即

分配给变量

const store2writable = writable();
store2writable.subscribe(...);

正在分配给新的变量名

const { subscribe: secondSubscribe, set: secondSet, update: secondUpdate } = writable();
secondSubscribe(...);