问题标签 [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 投票
1 回答
960 浏览

svelte - Svelte 不会从输入更新派生值

当我加载页面时,$greeting显示正确的值。

出于某种原因,当我更改input.

App.svelte

商店.js

0 投票
1 回答
728 浏览

svelte - 如何推迟渲染直到 ajax 调用完成

我正在重构一个从服务器上的 json 文件加载语言标签的 React 应用程序。使用 Ajax 调用从服务器提取数据,该调用更新包含所有语言标签的存储。这是一些说明问题的代码。

应用程序.js

这是商店的设置方式。ajax 调用使用标签更新存储。

store.js

但是,当我运行应用程序时,我还没有访问 LABELS 变量的权限,也没有在解析 fetch 调用时更新它。这是错误消息。

我在 React 中解决这个问题的方法是<App />仅在从服务器获取语言标签之后渲染整个内容。我还没有想出使用Svelte解决这个问题的方法。

请指教。

解决方案

根据@tehshrike 的建议,我将其设置getLang为异步函数并在组件上使用 await 块App.svelte,这是应用程序的入口点。这样,当 Promise 在获取语言标签后解决时,App 就会呈现(代码为了便于说明而缩写)。

App.svelte

0 投票
3 回答
4052 浏览

svelte - 在一个主要对象中对不同商店进行分组的最佳方法 - Svelte

所以在过去的一周里,我一直在尝试一些 Svelte。我想要一些简单的组件,比如说一个由商店管理的计数器(与 API 文档中显示的方式相同)。我还将有一个用于他自己商店的待办事项列表的组件,以及另一个将在他自己的商店中再次抛出随机事实的组件。

现在我想要一个大的主要对象,比如:

我可以从我的组件中获取具有初始值的对象,但我无法使其具有反应性,这意味着如果我更新计数器值或请求另一个随机事实,我希望 bigObject 使用这些新闻值进行更新。 ..

你们如何处理这种情况?

谢谢,

0 投票
11 回答
13953 浏览

svelte - 如何坚持苗条的商店

是否有任何直接选项可以持久保存苗条的存储数据,以便即使刷新页面,数据也将可用。

我没有使用本地存储,因为我希望这些值是反应性的。

0 投票
1 回答
4640 浏览

javascript - 如何将苗条组件的状态绑定到 Sapper 中的查询字符串

我的工兵应用程序围绕一个表格组件。此表组件具有我想在 URL 的查询字符串中表示的状态(偏移量、限制、排序、过滤器等)。

该表目前通过直接更新其状态可以正常工作:

我看到有页面只读存储可以让我访问查询字符串的当前值。我想我可以使用类似的东西URLSearchParams来生成更新相关值的链接。

有没有更好的方法来处理这个问题(某种直接将变量绑定到查询字符串的方法)?如果没有,用更新的查询字符串生成链接的最佳方法是什么?

编辑:

我目前的解决方案是以下功能:

我在一个a标签中引用了将上面的按钮替换为:

它有效,但我觉得应该有更好的方法

0 投票
1 回答
782 浏览

svelte - 在 SvelteJS v3 中的循环内访问 Store 的值

我正在从一组具有store其某些属性的对象构建仪表板。每个商店都从不同的来源独立更新。

我的问题是我无法读取循环store内的值。each

为了简化以下代码示例,我使用tweened而不是store

以下代码也可用于 Svlete REPL https://svelte.dev/repl/9a17102e7d32471a940ba007e5b56db0?version=3.6.7

部分{item.$value}返回undefined

0 投票
0 回答
2400 浏览

javascript - 如果文本输入在每个循环内,Svelte 组件不会使用新值重新渲染

我有一个包含each循环内输入的编辑器。当输入中的文本发生更改时,可写存储会更新,但在另一个组件中,我不会触发来自存储重新渲染的值的循环。

REPL:https ://svelte.dev/repl/0fa5f5cd1ee247afbbdc9a77266fb4f8?version=3.9.1

上面的 REPL 实时显示了问题 - 输入第二个输入不会更新文本,而在循环之外它可以正常工作。我怎样才能让它正确地重新渲染?

0 投票
1 回答
693 浏览

svelte - Svelte:App 构造函数的第二次实例化覆盖了第一次实例化,Props 进入 Stores 问题?

你好 Sveltermeisters,

问题:我正在尝试在同一页面上初始化 App 的两个实例。App 在 main.js 文件中作为页面上的全局变量公开,如下所示:

然后在一个 html 页面中初始化两个应用实例

奇怪的是:第二个 app 的 props 会覆盖第一个 app 的 props,并且每个 app 的状态始终保持同步,无论打开哪个 app。

我的断言:由于道具被倾倒到商店中,第二个实例将覆盖第一个实例。由于每个应用程序都引用同一组商店,因此它们的数据始终保持同步。

这是真的?如果是这样,我该如何设计我的商店以使他们的数据保持独立?

0 投票
2 回答
1150 浏览

model - 如何在 Svelte 视图中最好地实现可共享的数据模型

我创建了一个包含表单的视图,该表单的控件绑定到模型对象上的属性,该对象也由其他视图共享)。我试图弄清楚是否真的有必要或推荐使用 Store 范例。

例如,模型看起来有点像:

...并且 UI 将通过以下方式将各种输入绑定到模型:

理想情况下,我想将这些论文作为一个整体。从我看到的所有示例中,没有这样的东西。Svelte Stores 的目的是提供超细粒度、可共享的数据,以便我们基本上“存储”单个值吗?或者是否有示例显示在商店范式中使用的模型对象之类的东西?我是否错过了一些我需要通过使用 Svelte Store(类似于 Angular 的摘要)来利用的生命周期过程?

0 投票
1 回答
1705 浏览

svelte - 如何在 svelte 中使用自定义存储方法?

我正在制作一个模式,其属性存储在商店中。而不是像这样打开它,从一个元素:on:click={() => $modal.isOpen = true}

我想这样打开它: on:click={() => $modal.toggle()}从一个元素。

这是我的代码:

当我登录modal时,它只记录set, subscribe, update方法。然后当我再次单击时,这些方法消失了:它正确地覆盖了它们,似乎我永远无法获得模态的初始化状态。我尝试使用this或 参数 ( (a, b) =>) 访问当前对象,但均未返回任何内容。