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

websocket - 如何使用 Ngxs Websocket 插件捕获错误?

我正在尝试使用 Angular 6 + Ngxs + WebSocket 构建应用程序。但是,有些我无法连接到 Ngxs 提供的 WebSocket 插件。

在文档中,Ngxs 提到我们可以使用 WebsocketMessageError 操作来捕获错误。(我希望我正确理解了文档)

文档链接:https ://ngxs.gitbook.io/ngxs/plugins/web-socket

但我试图在我的服务类中导入这个动作,然后它说动作不可用。

这是我的 WebSocketService 类的代码。

我收到以下错误:

模块 @ngxs/websocket-plugin/ngxs-websocket-plugin"' 没有导出成员 'WebsocketMessageError'。

导入 WebsocketMessageError

0 投票
2 回答
1974 浏览

angular - 如何在 HttpInterceptor 中使用 NGXS 存储中的值?

我对 Angular 很陌生。我正在使用带有 NGXS 的 Angular 6 进行状态管理。

我的 NGXS 商店有一个user减速器,其接口是

我想serverToken在.AuthorizationHttpInterceptor

这是我当前的HttpInterceptor代码

所以我的问题是:如果不为空,如何正确优雅地使用user$observable 来获取serverToken并使用它?HttpInterceptorserverToken

0 投票
1 回答
869 浏览

angular - Angular 状态管理 - 存储还是有状态服务?

我们目前有一个中型 Angular 6 (prod bundle = 5MB) 应用程序,它实现了 ngrx/store 作为状态管理。

我们选择 ngrx/store 是因为当时(NG2)每个人都使用它,并且以这种方式存储状态和访问状态似乎是个好主意。换句话说:错误的原因。

它越来越像一个不需要的间接层,因为服务可以保持状态并返回流以访问应用程序状态的一部分,而样板文件要少得多(即使使用 NGXS)。

问题

从架构的角度来看,为什么我们会选择 ngrx/store 或 NGXS 而不是普通的有状态服务?

请只讨论现实世界的论点,不要理论或纯粹主义的论点。

如果处理得当,一些带有少量流的普通 @Injectable 服务会产生干净的代码、没有样板代码和状态的全部责任。即使是不变性也可以很容易地由我们自己处理。

(是的,我知道如果你让它们正常工作,比如在 HMR 中恢复状态和检查状态,会有一些技术优势,但我们从来没有得到一致且正常的工作)

0 投票
1 回答
393 浏览

angular - NGXS 状态功能

假设我们保存信息并从数据库中检索它(因为它可能会被多个用户更改),并更新每个保存和检索操作的状态。state 有什么用,什么时候用呢?示例:当应用程序被多个用户使用时,更新数据库中的项目数量。

请解释 NGXS 中状态的确切用途

0 投票
1 回答
903 浏览

angular - Angular 6 与 Codeigniter 中的 API

我想将Angular 6NGXS用于前端,将 Codeigniter 3用于后端。如何将两者结合起来,从 Angular NGXS 中的 CI 调用 api

我尝试了以下步骤:

  • 使用命令创建 Angular 项目:ng new {project name}
  • 在 CI 中创建登录 API
  • 安装 NGXS 商店并更新 app.module.ts 文件以包含它
  • 在 login.state.ts 文件中,我添加了以下代码,这给了我以下错误:

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://localhost:4200 ”。响应具有 HTTP 状态代码 404

0 投票
1 回答
857 浏览

javascript - 是否应该为生产构建删除 NGXS NgxsLoggerPluginModule?

在开发过程中,我们通常使用导入:

是否应该为生产构建删除这些,或者在生产构建中保持这些完整(排除生产问题......?)

0 投票
1 回答
4757 浏览

angular - 通过传递参数从 NGXS 中的状态中选择值

我有一个包含 JSON 的状态,如下所示:

我需要从状态数组中选择 id = 1 的数据

如何使用 NGXS 状态选择器来做到这一点

我们如何在组件中访问它?


我的状态有以下内容

食谱

我想获取索引1的状态数据,即{id:“16”,名称:“gfdg”,图像:“Chrysanthemum.jpg”,描述:“fhfgh”,成分:“gdfg-4sfhs,ig 1-1kg "}

根据您的回复,我添加了以下代码

在组件中:

在状态:

但我没有得到数据。我的身份证也没有登录控制台

0 投票
1 回答
1041 浏览

angular - 已记录但未触发的操作

我有一个带有分派 FETCH 操作的组件的模块,该组件从 API 获取数据,然后分派一个 RECEIVED 操作。它运行良好。

然后我将模型、动作和状态复制到另一个模块和组件(具有不同的获取和接收)并且它不起作用。记录器将操作显示为已调度,但未执行代码。

文件.action.ts

文件.state.ts

我已将代码减少到最低限度,以检查一切是否正常。还检查了导入(有时我从错误的库中导入)但仍然没有运气。

知道发生了什么吗?

0 投票
2 回答
2043 浏览

angular - Angular - 在编辑时填充表单数组输入

我有一个数量字段和一个“添加”按钮。单击按钮时,会添加数量的新字段以及删除按钮以将其删除。我已经为它使用了表单数组

我的代码如下

我还有一个编辑功能,我想预先填充数量字段的数量及其先前保存的值以进行编辑

我的代码如下:

但是该值未填充在输入字段中。任何人都可以请指导

0 投票
1 回答
13573 浏览

angular - Angular - 在下拉列表中设置选定值

ri.ingredient = 2; 但是下面的代码在上面的代码中没有返回true,所以没有选择值

谁能指导

我的 ts 文件中的代码如下: