问题标签 [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 回答
501 浏览

javascript - 如何在带有参数的苗条商店中制作自定义方法?

我想制作可以这样调用的自定义苗条商店:

在 Svelte 有可能吗?

0 投票
0 回答
109 浏览

javascript - Svelte 可写存储更新函数返回无法分配给对象“#”的只读属性“值”'

I have an issue with svelte store update function. what I want to do:

  1. I get data from my graphql backend. (I read all the tags)
  2. I get a single tag which has a change in d

    I have an issue with svelte store update function. what I want to do:

    1. I get data from my graphql backend. (I read all the tags)
    2. I get a single tag which has a change in data via websocket.
    3. I want to update my writeable store with that data.
    4. I get this error when I try to update my writeable store.

    please help me to identify what I'm doing wrong.

    enter image description here


    I've done configuration like this for some of my own projects, and I think it works reasonably well. For the most part, I don't think it's a problem inheriting class attributes.

    Some disadvantages I can think of include:

    • Reusing class attributes from the parent class can be slightly awkward since you have no way of saying "parent class's attribute" from within the child class without stating the parent explicitly. For example, if you want one of your configuration attributes to be a list that child classes can add to, you either need something like this:

      or this:

      I don't think either is especially nice, but this may not be such a big problem for you.

    • This sort of configuration requires that users know some basic Python. (Of course, depending on the application, this might not be an issue.)

    • For some users, including those familiar with Python, this sort of configuration can seem counterintuitive. I know some people find it strange to have to write Python code as a configuration, and even stranger making the configurations into classes.


    Regarding the get_dict implementation—you might be able to simplify it by using dir. For example,

    This should work is any descendant of your BaseConfig.

    However, there is a problem with this approach. If you want to add more methods or classmethods to any of your classes, get_dict will need to be updated accordingly; this is a pain and is error-prone. For omitting methods, you could try something like this.

    I think this should work well unless some of your configuration parameters are functions. In that case, you may have to resort to maintaining a whitelist of of parameters that should be returned by get_dict.

0 投票
1 回答
384 浏览

svelte - Svelte 存储:在 forEach 循环中更新的值不会动态更新(但仍会更改)

最小的工作示例在这里:

回复: https ://svelte.dev/repl/ed0fb480159849458c2878d2210e9a40

代码:

App.svelte:

Child.svelte:

商店.js:

问题:当在 Svelte Store 中使用 Array.forEach 进行循环时,值会更新(肯定会记录到控制台),但动态绑定不起作用,并且更改在 DOM 中不可见(尽管值仍然在存储中更改)。经典循环工作正常。因此,在使用 forEach 之后,什么都看不到,但是使用经典循环将 DOM 更新为当前(正确的)值。

所以,我当然可能会坚持经典循环,但我想了解这里发生了什么,以及为什么:)

任何评论/提示表示赞赏。

0 投票
1 回答
319 浏览

svelte - 从 Svelte Store 获取/读取价值

我想在任何给定时间读取苗条的商店价值。我知道更新值时会调用 subscribe 方法。即使商店没有更新,我也想阅读商店。

0 投票
1 回答
311 浏览

electron - 从新的电子浏览器窗口访问时,Svelte 商店为空

A -> Main BrowserWindow

B -> New BrowserWindow,我创建它来打印一些文件。

在我创建的 B 中,我加载了一个新的 html 文件,该文件在其脚本标签中初始化了一个纤细的组件。

例如

这个 Svelte 组件有一些标记,并使用我在这个 svelte 组件中导入的 svelte/store 来显示存储中可用的数据。

问题是,在 A 中,当我查看组件时,存储数据是可见的。但是,在 B 中,运行上述 JS 片段时的 html 文件,存储是空的。我可以看到 SvelteComponent 的正确标记,但是没有数据,因为商店是空的。(我从 证实了这一点console.log

如果两者都引用同一个文件,我不知道为什么从 B 查看时商店是空的。我正在使用 webpack 进行捆绑,所以所有导入都应该可用。

我会很感激这里的任何帮助,谢谢!

0 投票
1 回答
272 浏览

subscription - Svelte 商店的自动订阅是否适用于非组件文件?

只是一个基本问题:商店的 $-syntax 是否适用于非组件 JavaScript 文件?

医生

任何时候你有一个对 store 的引用,你都可以通过在组件中加上 $ 字符来访问它的值。

但是,这个官方示例似乎在不是组件的派生商店中使用了 $-syntax:

这是定制商店的特例吗?还是有可能因为它被导入到组件中?

0 投票
1 回答
235 浏览

arrays - 如何在 Svelte 中创建一个更新到本地存储的嵌套数组存储?

我想创建一个对象作为存储,其中对象中的数组也可以用作存储。每个数组都需要更新(订阅),对象也需要更新到本地存储。

这是对象的结构

这是我到目前为止的代码:

我希望能够在整个应用程序中使用userExpensesuserOptions作为商店。当这些数组更新时,它们需要在主userInputs对象中更新,这需要推送到 localStorage。

谢谢

0 投票
0 回答
78 浏览

authentication - 在服务功能中访问会话存储

我尝试创建纯函数或至少一些服务类,以使用类型化方法访问后端 API。对于身份验证,我使用 cookie。

对于客户端请求,cookie 身份验证可以即时进行,但对于 ssr,我必须在使用fetch.

我已经在会话中拥有所需的令牌,但是如果我尝试通过import { session } from '$app/stores';组件外部访问会话,我得到了 Function called outside component initialization.

一种选择是在每个 SSR api 函数上添加手动调用 cookie 标头作为参数,但这不会是一种干净的方式。

是否有人知道如何在组件外部访问会话,或者是否有任何可能的方法来定义包含访问存储(包括会话存储)的服务类,哪些功能可跨组件使用?

我想使用类似的东西:

代替:

如果有人可以提供继续的提示,那就太好了。

先感谢您。

斋月

0 投票
1 回答
133 浏览

rxjs - 如何在 Svelte 中使用 RXJs 主题之类的存储变量

如何在 Svelte 中使用 RXJs 主题之类的存储变量?您可以在 Svelte 中使用带有 $ 前缀的 Subject 变量。但是当您将变量绑定到输入时,它会引发异常:“错误:name.set 不是函数”,因为 Subject 类型没有 set 方法。

0 投票
2 回答
1626 浏览

reactjs - 理解 Svelte 中的上下文(从 React 上下文转换)

我有一个使用 ContextAPI 来管理身份验证的反应应用程序,我正在尝试在 Svelte 中实现类似的东西。[Web 开发简化][1]

Authenticate.js我有这个:

此上下文用于其他Login.js组件,如下所示:

App.js我有:

我如何在 Svelte 中实现这一点,尤其是在Authenticate上下文中?

我无法在 Svelte 做太多事情,因为我不知道如何从这里开始。到目前为止我有 AuthComp.svelte。我不知道我是否做对了。