arrays - html模板数组变量中的角度10与类型声明不匹配
问题描述
我正在使用定义为的全局变量和类型:
全球.ts
export type ReservationCurrentPC = Array<{StartDateTime: string, EndDateTime: string, Who: string}>;
export class GlobalVariables {
public static ReservationsCurrentPC: ReservationCurrentPC = [];
}
然后将其导入组件 .ts
import { GlobalVariables , ReservationCurrentPC } from '../GlobalVariables';
然后在 component.ts 上做了一个 getter,以便在其 html 模板中使用它。
get GetReservationsMyPC(): ReservationCurrentPC { return GlobalVariables.ReservationsCurrentPC; };
然后它执行一次推送:
case 'RSV':
// stemp[i].Param1 = PCNameID.
// stemp[i].Param2 = StartDate.
// stemp[i].Param3 = EndDate.
// stemp[i].Param4 = ReserveByAccountName.
GlobalVariables.ReservationsCurrentPC.push (stemp[i].Param2, stemp[i].Param3, stemp[i].Param4);
然后尝试在 html 模板中使用它。
<div *ngFor="let b of GetReservationsMyPC">
<li>
Desde [{{b.StartDateTime}}] hasta [{{b.EndDateTime}}] reservado para: {{b.Who}}
</li>
<button (click)="RemReserve(b.StartDateTime)">Remover esta reserva</button>
</div>
问题是,html 使用变量 'b' 循环 3 次,并且它无法识别类型结构,例如每个项目 3 个字段,并且例如 b.StartDateTime 、 b.EndDateTime 、 b.Who 仅在打印时不返回任何内容只是 'b' 变量,它将推送 3 个字符串,就好像它是一个普通数组一样。
如何在 html 模板中正确处理该结构化变量?我看到了几个例子,但是,使用局部组件变量,并且有效,但是我需要使用这个全局变量,因为它需要从另一个组件(它处理用户点击的地图视图,并且对象点击地图触发了几个事件,这就是从 API 请求有关单击对象的信息的位置,并且作为响应它返回推送的数据),因此,它必须是一个全局变量,因为它在多个组件中进行处理。
解决方案
固定的:
GlobalVariables.ReservationsCurrentPC.push ({StartDateTime: stemp[i].Param2, EndDateTime: stemp[i].Param3, Who: stemp[i].Param4 });
对我来说真是一次冒险!
推荐阅读
- matlab - 如何在横截面椭球中找到两个单独的质心
- python - 如何在 PyQt5 中获取动画 matplotlib 图?
- javascript - 异步 ajax 调用返回一个意外的值
- cryptography - 是否可以使用端到端加密创建实时聊天客户支持应用程序?
- postgresql - Docker-compose Postgres 连接被拒绝
- ajax - laravel 通过 ajax 发送 json 对象
- swift - 如何在不使用 :perform 的情况下获取 ForEach 方法的 IndexSet
- ruby-on-rails - Rails 不允许在没有 user_id 参数的情况下执行 after_create。为什么?
- r - R4.0 性能:数据帧 vs 列表,循环 vs 向量化 - 常量向量减法示例
- unity3d - GameObject 不包含 AddForce 的定义