问题标签 [ngxs]

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 回答
308 浏览

angular - 使用选择快照的 NGXS 版本

ngxs/store是什么版本,angular需要用到这个功能?在我的版本中:angular - 5.2,ts - 2.6.2,ngxs/store - 2.1.0-beta.9 我不能使用它。 在官方回购中,我找到了这些信息

0 投票
2 回答
2684 浏览

angular - 将参数传递给 withLatestFrom 函数

我正在建立商店行动。我的商店模型如下所示:

我从与给定条件对应的后端获取 id。然后我需要从后端获取那些尚未存储的实体。但我不知道如何将获取的 id 传递给withLatestFrom函数?

或者也许我做错了什么?

0 投票
2 回答
5350 浏览

angular - 使用模拟商店时如何在ngxs中模拟@Select

我正在使用 ngxs 进行角度状态处理,并且我正在尝试将我们的组件作为单元进行测试,因此最好只使用模拟商店、状态等。

我们在组件中的内容类似于:

我们的夹具设置看起来像这样,所以我们可以检查商店的调用:

但是当我们运行它时,我们得到以下错误:

我可以为此启用整个 ngxs 模块,但随后我需要创建服务模拟以注入状态对象,我不喜欢这样,因为我不再单独测试组件。我试图创建一个模拟 SelectFactory,但它似乎没有从模块中导出。

有没有办法模拟 SelectFactory,或者直接将一些模拟注入到 platformList$ 中?其他建议?

0 投票
3 回答
9709 浏览

angular - NGXS:如何测试一个动作是否被调度?

如何对动作是否已发送进行单元测试?

例如,在 LogoutService 中,我有这个简单的方法:

我需要编写一个单元测试来验证这两个操作是否已分派:

如何检查已调度的操作?

0 投票
2 回答
1949 浏览

ngxs - 刷新浏览器选项卡后保留状态

在 NGXS 中刷新浏览器选项卡后如何保留状态?Ngrx版本的问题是在这里问的?

0 投票
1 回答
189 浏览

angular - NGXS 3.1.4 存储计算/操作

我正在构建一个 Angular 6 应用程序并试图了解 NGXS (3.1.4)。

我已经设法实现 @Actions 来添加和删除商店中的购物车项目;那些确实有效。

我仍在尝试执行以下操作:

  1. 计算 cartItems 的总数并将其显示为 Angular html 组件中的值
  2. 清除购物车中的所有购物车项目

解决了

  1. 如果 id 已存在,则仅更新 cartItems 中 CartItem 的数量
  2. 通过计算每个 cartItems 价格 * 数量并将其添加到运行总计以显示在有角度的 html 组件中来计算购物车的总量

我很感激我问了多个问题,但它们与同一个问题有关。

如果有涵盖此类问题的视频或链接,那就太好了。我尝试了 google/youtube 搜索并查看了 NGXS 的 github 文档。

以下是我正在使用的:

感谢您的任何反馈:-)

0 投票
1 回答
124 浏览

angular - 在两个动作之间切换Angular2 + ngxs

在我的状态下,我有两个用于打开和关闭搜索栏的操作,如何在它们之间切换。

`

0 投票
1 回答
2050 浏览

angular - Http requests made from Ngxs state doesn't get detected by Angular (zone related issue)

I'm using ngx-progressbar and it works fine with http request started from within services, components or resolvers.

Note that no manual triggering of the progress bar (via service, etc) during http request is needed. It is triggered automatically.

Unfortunately it doesn't work as expected when making an http request from within an NGXS State :

stackblitz :

I created for every case a button :

  • "Make Request (Dispatch to store, w/o zone)"

This does not work, no progress bar appears (or it appears but hangs and does not complete to 100%)

  • "Make Request (Component)"

This does work as expected, progress bar appears

  • "Make Request (Dispatch to store, w/ zone)"

I asked the developer of ngx-progressbar and he actually found the issue and solved it by wrapping the http call inside zone. This does work, progress bar appears :

Since I want the progress bar to appear with every http request, what would be the right approach to solve this ?

Is there a way to tell NGXS to run every http request inside zone ?

0 投票
2 回答
1328 浏览

ngxs - 注销时重置应用程序状态

我有一个应用程序,它具有应用程序中多个主题领域的状态类。假设它是一个聊天应用程序,主题是用户、聊天消息和聊天室。用户通过登录进行身份验证/授权。从那里之后的状态取决于登录的用户。当用户注销时,应用程序需要将所有“主题”的状态重置为默认状态。

问题:

  1. 组织这些州的最佳方式是什么?这似乎是子状态的一个很好的用法,但是子状态文档讨论了如何设置子状态,但没有显示任何关于状态“绑定在​​一起”意味着什么的示例
  2. 如何重置所有状态?这是重置 API 的好用法吗?
0 投票
2 回答
6111 浏览

ngxs - ngxs:在 Action 中访问不同的状态

是否可以在一个动作中访问不同的状态?

场景:我有两种状态:

  • 过滤器状态
  • 应用状态

FilterState包含一个 action Filter,当过滤器动作被触发时,然后使用filterServiceaction 的有效负载 + 调用AppState.

如何从不同的状态检索值以将此值应用于的第二个参数this.filterService.filter