问题标签 [svelte-store]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
860 浏览

svelte - Svelte 存储分配调用默认 writable().set 然后自定义 .set?

相关 REPL

我有一个带有自定义set方法的简单可写存储:

当我调用state.set(<some new value>)时,新值被记录到控制台并且 的值state实际上并没有改变。这是我所期望的。
但是,如果我分配$state = <some new value>state更改的值,然后 set将其记录到控制台。为什么(以及如何)会发生这种情况,有没有办法在不重新实现的情况下解决它writable

谢谢!

0 投票
1 回答
695 浏览

svelte - 通过 api svelte 更新存储数据后如何重新渲染组件?

我有一个苗条的商店,我在变量命名的任务中保存了一些虚拟数据。我还使用 Axios 在商店内使用 API 获取新数据。然后将新数据推送到任务变量中。可以在组件中读取正确的数据,但来自 api 的数据不会呈现。

我需要以某种方式使用自动或手动重新呈现组件中的任务列表。或任何其他可能的方式。组件中的任务数据记录正常,但组件视图未更新。

0 投票
2 回答
290 浏览

svelte - 类似发票的示例,用于了解数组中嵌套对象的反应性。我应该为此使用商店吗?

我正在尽我所能理解使用 Svelte 3 创建类似发票的表单的惯用方式。

我的REPL在这里:https ://svelte.dev/repl/7aca36569aea49bba38e5fb8b1b0835b?version=3.24.1 。

问题

  1. 这是一个好方法吗?我应该使用商店吗?

  2. qty当我改变我的行时,有没有办法更新 amountDue price?(我知道我可以做到,rows = rows但在我看来这有点不习惯,我错了吗?)

0 投票
1 回答
147 浏览

javascript - 从函数而不是 DOM 元素将 DOM 事件从子级调度到父级(没有 createEventDispatcher)

我试图了解在内部调用函数后是否有办法将 DOM 事件(表单的事件)转发给父级。

REPLhttps ://svelte.dev/repl/8eb540552faa4651a398b182fa5cdd48?version=3.24.1

如您所见,我validate()使用.Form.svelte<form on:submit|preventDefault={validate}>

之后我需要重新调度事件/调用handleOnSubmit()in App.svelte,父级。

有没有不使用的方法createEventDispatcher

0 投票
1 回答
111 浏览

svelte - 在不相关的组件之间共享状态 - Svelte

我正在开发一个苗条的应用程序,在那里我创建了一个我正在更新某些事件的商店。我已将商店导入到另一个具有不同目录的组件中。我已经订阅了商店,所以每当对商店的某个地方进行任何更改时,它都应该反映订阅组件中的更改,但不幸的是,它对我不起作用。

商店

我要更新商店的脚本

订阅的组件

0 投票
2 回答
1451 浏览

svelte - 在 Svelte 中的兄弟组件之间传递数据

如何将数据(例如:导航栏标题)传递给父元素中使用的组件?

澄清一下,这需要可扩展并使用 Routify 处理 SPA 的所有路由的页面加载/转换,最好提供默认值并能够具有 HTML 值:

0 投票
1 回答
107 浏览

svelte - 使用商店列表检测派生商店中更改的商店

我有一个派生商店,例如:

除了缓存存储值之外,是否有一种简单的方法可以找出 [a..e] 的哪个存储触发回调中的回调。例如:如果存储“c”更新,我喜欢用 set(null) 重置。

使用闭包缓存存储值的示例代码:

0 投票
1 回答
170 浏览

typescript - 使用 ImmerJS 和 Svelte 不可变存储创建镜头时我缺少什么

我正在研究 Svelte 和 ImmerJS。

Immerjs 和 Svelte 商店应该能够以非常优雅的方式进行组合。

我试图仅使用选择器表达式从父存储创建派生的可写存储,其中选择器表达式(从 .NET 借用的术语)是一个函数 lambda,它描述了如何访问对象树的某些子部分。

通常必须解析这个,但我认为 immerjs 已经用代理和Draft<T>类完成了艰苦的工作。

所以目的是能够做到以下几点。

我希望输出是

但它是

镜头的实现是

我很确定失败的线路是

我尝试将更新的值传播到子草稿中。谁知道这是否可能?但它应该是。有人能找出神奇的酱汁来让它发挥作用吗?

repl.it 上有一个实时版本

https://repl.it/@BradPhelan/Substore

0 投票
2 回答
487 浏览

svelte - Svelte Derived Store 原子/去抖动更新

我一直在尝试使用苗条的衍生商店。如果您查看以下示例中的控制台日志,在递增存储 1 和存储 2,然后单击重置后,派生存储发出 2 次更新。

你将如何使这个原子化或者去抖动它?例如,假设场景是派生商店根据商店 1 和 2 的组合值发出新的网络请求,如果它们都一起更改,您不想触发 2 个网络请求吗?

https://svelte.dev/repl/a67c9d37aee348d988e8c30f60a139d9?version=3.28.0

编辑:实际上,只是添加了一个“反应式”控制台日志,这似乎可以消除(滴答声?)输出。

我想我已经回答了我自己的问题?

0 投票
1 回答
726 浏览

svelte-3 - 过滤可写商店中的项目以显示在苗条中的好方法?

有一个更好的方法吗?

谢谢!