angular - 从地图角度获取属性
问题描述
如何从地图中获取属性并使用 Angular 将其显示在表格中?当我显示时,我得到 [object Object]。如果使用 property.first 我什么也得不到。
//model
export interface UserModel {
room: Map<number,number>
}
//service
export class UserService {
user: UserModel;
newUser: UserModel = {
room: new Map<number,number>(),
....}}
//html
<tbody>
<tr *ngFor="let user of $users | async">
<td>{{user.room}}</td> // user.room.first???
</tr>
</tbody>
请帮帮我!
解决方案
您的 * ngFor概念在这里是错误的。如果你想使用 *ngFor 它基本上是用于迭代数组。所以你需要使用一个数组,你不能在 *ngFor 中使用 Map。
如果您的数据类型是 Map,则必须将其转换为数组。
如果您想在此问题中获得更详细的解决方案,请提供您想要的最终结果。
根据我的理解,您想打印与表中的键映射的值。
所以你需要将map的键转换成一个数组。为了实现这一点,请使用:
this.keys = Object.keys(this.user)
在 .ts 文件中添加这一行,现在在 html 中添加以下代码。
<tbody>
<tr *ngFor="let keyof keys| async">
<td>{{user[key]}}</td> // user.room.first???
</tr>
我希望这是你的要求。你可以完成这件事。
推荐阅读
- sql - 具有最接近时间戳的 SQL 自联接
- angular - 如果登录后找不到值,注销用户?
- html - 如何使 div 的宽度成为任何内容?
- jquery - 检查链接是否包含字符串并向其添加 rel='supported' 属性
- java - 用 PDFbox 和 boxable 替换 Itext
- sql-server - AWS 无服务器离线和 MS-SQL 数据库
- javascript - PDF 脚本日期周
- r - 希望在 r 的 ANOVA 分析中包含子块
- javascript - await 仅在异步函数中有效,同时我已经将“异步”放入函数中
- c# - 如何在应用程序运行时从互联网获取日期时间,然后连接关闭并成为本地?