问题标签 [angular-in-memory-web-api]

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

angular - 是否可以将多个 ID 传递给 angular-in-memory-web-api 中的查询字符串?

例如,我想做这样的事情:

{hostURL}/api/entities/14/15/16/17

这反过来又会带回相应 ID 的所有数据。这种方法行不通。我也试过这个,它也不起作用:

{hostURL}/api/entities?id=16&id=17

文档展示了如何使用一个 ID(在 HTTP 请求处理下):https ://github.com/angular/in-memory-web-api

有没有办法传入多个ID?

谢谢。

0 投票
3 回答
1259 浏览

angular - 实例变量未在 Observable<> 订阅中分配?

出于某种原因从 Obersavable 订阅时,我的游戏数组没有被分配,即使我肯定从服务器获得了正确的数据(数组)。

这是我的game.service.ts:

这是我的games.component.ts:

如您所见,我在games.component.ts中调用getGames,其中game.service.ts正在返回响应(Observable)。

由于某种原因 subscribe(games => this.games = games) 不起作用,我得到了 games 实例变量的“未定义”。我肯定会得到正确的响应,因为subscribe(games => console.log(games))没有显示“未定义”,而是显示了一个对象数组。

为什么没有分配我的实例变量?

编辑:如果我订阅,这是 console.log 中的输出(games => console.log(games))

在此处输入图像描述

编辑:如果我执行以下操作,控制台日志是正确的。但是,如果我引用它之外的“游戏”数组,我会再次未定义:

编辑:已解决 - 谢谢 dileepkumar jami 解决方案是删除 $ 符号和 '| 我的模板中的异步':

0 投票
1 回答
211 浏览

angular - 从 .json/.xml 读取数据并在 Angular 中填充列表

我正在 Angular 中设置一个 CRUD 应用程序作为我的学习课程的一部分,并希望从文件中填充我的列表(将接受 .json /.xml 格式)。我已经设法从文件中读取并在控制台中打印,但我不知道如何与我的模板和服务进行通信,这些模板和服务最终会处理并打印出我想要的输出。

到目前为止,我已遵循本指南https://www.youtube.com/watch?v=3zpdnujI_B0。这是代码的最终存储库:https ://github.com/michaelcheng429/angular-tutorial 。我跳过了动画部分,因为这不是我现在想学习的东西。(现在我有一个服务从in-memory-web-api 并且该服务有助于我的 http 请求创建/读取/更新/删除功能)

在 product.component.html 我有接受 json 和 xml 的输入类型:

至于阅读部分,我使用了在更改时调用的 FileReader(在 products.component.ts 内部):

在读取文件时,我不知道如何与产品服务/模板交流我的信息并处理 json 格式和 xml 格式之间的区别。

0 投票
0 回答
130 浏览

angular - 在 Angular 7 中将数据解析为 in-memory-web-api

我希望从 XML 文件中提取数据并将其用作 Angular 7 中我的内存中 Web API 的起始值:

我的app.module.ts

数据库正在一个名为 的文件中创建,该文件app.database.ts位于/src/app(与app.module.ts

我目前被困在如何实现数据库上。具体来说,我有以下问题:

  • 哪一侧是放置数据库文件的最佳位置。假设它被称为database.xml?
  • 如何检索内部数据库InMemoryDataService并随后创建内存数据库?

非常感谢提供的任何帮助

0 投票
0 回答
314 浏览

angular - npm 在安装 `angular-in-memory-web-api` 时显示错误

我是 Angular 的新手。我正在浏览Angular 7 官方文档并尝试angular-in-memory-web-api使用 npm 安装。但它显示以下错误。

命令:

npm install angular-in-memory-web-api --save

错误:

我尝试使用修复错误,npm audit fix但没有帮助。显示以下错误。

命令:

npm audit fix

错误:

我该如何解决这个问题?

0 投票
1 回答
837 浏览

angular - 将查询参数添加到 http 请求时出错

我正在使用模拟数据和 InMemoryDbService,如英雄之旅示例所示。当我不通过 HttpParams 时,加载数据工作正常。添加参数后,我会收到一个 500 响应,正文中出现以下错误:{error: "collection.filter is not a function"}我已经用 get 请求中的数据填充了我的表,如下所示:

组件代码:

api服务:

服务器回复:

要求:

模拟数据服务:

不知道我做错了什么。我尝试在英雄示例之旅中添加查询参数并且有效(即使英雄的不存在字段也不会像这样出错)。

应用模块导入:

0 投票
4 回答
1798 浏览

angular - Angular:在(更改)事件上添加动态生成的输入字段数据时出现问题

我有一个功能,我需要在单击按钮时发送动态生成的输入字段。

为了更好地理解,我在stackblitz上重新创建了这个问题。

在该应用程序中,当我输入 resourceQuantity 时,会动态生成 resourceId 字段。我的问题是单独识别这些字段并通过单击按钮将它们发送到服务器端。

我在 stackblitz 上找到的这个解决方案是相似的,但在我的问题中,我不是删除或添加按钮点击,而是(更改)事件。

这是HTML代码:

这是TS代码:

请让我知道我的问题的最佳解决方案。谢谢。

0 投票
0 回答
485 浏览

angular-in-memory-web-api - “集合 id 类型为非数字或未知。只能生成数字 id。”

预期结果:需要将类似于 json 的表单数据发布到内存 webapi 中。用户在表单中提供详细信息。所有详细信息都被合并并作为参数模型制作

0 投票
0 回答
79 浏览

angular - 如何仅将 angular-in-memory-web-api 用于某些 API?

in-memory-web-api这样使用:

然而,现在,我只想HttpClientInMemoryWebApiModule在 dev modde 中使用一些 API,因为只有一些 API 需要被模拟并且还没有“真正的”API 可以使用。

我看到了这个非常相似的问题,但passThruUnknownUrl它没有用,我想明确定义哪些 URL 是伪造的,哪些不是伪造的。

passThruUnknownUrl如果您只想使用服务器 API 并忽略一个本地模拟 API 进行测试,也无济于事,例如

0 投票
1 回答
71 浏览

angular - 如何从 HttpClientInMemoryWebApiModule 角度排除​​服务?

我已经在我的 Angular 应用程序上配置了 HttpClientInMemoryWebApiModule。我想排除一个服务,所以我可以在第一个不添加基本 url 的情况下对其进行测试: 问题:

app.module.ts :

serviceToExclude.service.ts :

链接称为:https://localhost/api/http://localhost:4000/users?q=h

而不是:http://localhost:4000/users?q=h

所以我的问题是如何从继承以前的基本 URL 中排除这项服务???