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

svelte - 苗条的商店安全吗?

从标题中可以看出,我只有一个简单的问题。苗条的商店安全吗?

我正在使用它来保存自定义声明等用户数据,如果有人可以将自己更改为管理员,那可能不会很好。

所以我的问题是:用户/黑客是否可以更改存储在 svelte 存储中的数据?我应该将我的敏感数据移出它吗?

0 投票
1 回答
183 浏览

svelte - 触发事件以警告客户将其更改保存在 svelte

我想警告用户在离开页面之前保存他的更改(表单更改)。如果他单击窗口上的任何位置,我想触发此警报。它可能是返回按钮或重新加载或页面上可用的任何导航链接。有人可以帮忙吗?

0 投票
2 回答
1057 浏览

svelte - 如何将苗条的商店作为承诺而不是带有订阅的对象返回

我有一个像这样从这个例子中提取的苗条商店:

store.ts

test.svelte

我可以像这样得到值:

应用程序.svelte

但是是否有可能使用 await / Promise 而不是使用 subscribe 的类似 observable 的对象只获取一次值?

例子:

显然toPromise不存在于Writable对象上,但我认为可能通过rxjsinternal sveltewonka可能有一个选项或某种解决方法。

0 投票
1 回答
92 浏览

svelte-3 - svelte 不断更新 store var 而不点击更新

我的应用程序会自动更新 $content 值,而无需我单击按钮。我知道这是一个简单的问题,但我不知道为什么,我正在学习苗条。

App.svelte

store.js

Item.svelte

0 投票
1 回答
737 浏览

javascript - 我应该如何有效地从 Svelte 商店订阅添加到数组?

每次更新订阅的商店时,我都希望将对象添加到组件中的数组中。在这种情况下,商店正在从 WebSocket 接收数据,我最终想要绘制N我收到的最后一个数据点(N=1000例如)。

商店定义在socket.js

然后我有一个Chart.svelte组件,它应该 a) 绘制最后N一点(未显示实现),b) 每次我的商店订阅回调发生时更新。这里的问题是我可能需要对传入的 WebSocket 数据进行一些小的转换/预处理。在我的Chart.svelte我们有(为了简洁省略了绘图的东西):

我的问题是;这是最好的方法吗?我认为不是 - 它有效,但我在datastream商店中有一个数据数组的副本,每次我得到一个新值时,我都会完全重建plot_data数组。

我曾尝试仅使用商店中订阅的最新数据点来执行此操作,但我无法弄清楚如何捕获商店更新,从而强制向plot_data数组中添加新条目(从而刷新绘图)。

0 投票
2 回答
247 浏览

svelte - 订阅 svelte store 中的特定对象更改

我有一个名为articles 的苗条商店状态对象,如下所示:

当前,订阅的处理程序会在对象的任何更改时触发。但我希望能够触发特定的更改,例如当 currentDocIndex 获得新值时。

我是否必须将我的商店状态对象拆分为派生商店才能实现这一点,还是有更简单的方法?

0 投票
1 回答
410 浏览

typescript - 为什么打字稿无法检测到这个 Svelte 3 商店的正确内容类型,而是告诉我它是任何类型的?

使用此代码和eslint-plugin-svelte3

我得到这个打字稿错误:

Unsafe assignment of an any value.eslint@typescript-eslint/no-unsafe-assignment

在线的:

为什么?

如果我使用,错误就会消失:

但我认为这不是一个解决方案:是一个错误,对吧?

0 投票
2 回答
380 浏览

svelte - Svelte - $:反应性语句不起作用

我正在尝试为我的苗条应用程序建立一个队列。基本上,我的服务器发送消息,它们需要按顺序执行,每个动作都等待最后一个完成。我目前使用的模型是这样的:我建立了一个商店来存储我的 actionQueue

在需要监听 actionQueue 的组件上,我这样做

但有时,actionQueue.next() 不会触发 $nextAction 的更新。我通过在随机组件上使用此命令验证了这一点:

我也尝试过直接使用 $actionQueue[0] ,但仍然不太奏效。我错过了什么?

0 投票
2 回答
812 浏览

svelte - 订阅时不应调用 Svelte 商店订阅功能

我不明白这一点。我正在尝试订阅一个苗条的商店。但是传递给subscribe的闭包函数会立即被调用。即使商店的价值没有改变。

这是一个苗条的 REPL示例

使用以下代码:

恕我直言,应该在更改而不是在订阅时触发关闭函数,或者我缺少什么?

0 投票
1 回答
132 浏览

lodash - 在 Svelte Store 中使用油门

我正在尝试限制Svelte 中函数的执行。但是,在自动订阅中使用节流阀似乎会破坏它。考虑以下示例(REPL):

的执行foo(a)根本没有受到限制。如果您删除该{#each $arr as a}块并将一个字符串传递给 foo,您将看到它按预期工作。

我假设这与事件循环以及 Svelte 自动订阅如何工作有关,但不知道确切原因。想知道是否有人知道a)为什么会发生这种情况以及b)可能的解决方案是什么样的?