【发布时间】:2021-07-07 18:01:25
【问题描述】:
我是 Angular 的新手,我无法真正理解我面临的问题。
我正在尝试将对象从 *ngFor 传递给他的组件。
这是一个简单的 *ngFor 迭代数组
<div class="card text-center" *ngFor="let alarm of alarms">
<div class="card-header">
....
</div>
<div class="card-body p-2">
<span class="text-secondary font-weight-bold">
Floor
<span>{{ alarm.sensor.sentinel.monitorings_sentinels[0].monitoring.patient.location[0].floor }}</span>
</span>
</div>
</div>
我想避免这种长插值,所以我想将当前的let alarm 传递给组件并将三个属性分配给一个对象并显示它,
customMethod(alarm) {
this.location.floor = alarm.sensor.sentinel.monitorings_sentinels[0].monitoring.patient.location[0].floor;
this.location.room = alarm.sensor.sentinel.monitorings_sentinels[0].monitoring.patient.location[0].room;
this.location.bed = alarm.sensor.sentinel.monitorings_sentinels[0].monitoring.patient.location[0].bed;
}
这是我的期望:
<div class="card text-center" *ngFor="let alarm of alarms">
<div class="card-header">
....
</div>
<div class="card-body p-2">
<span class="text-secondary font-weight-bold">
Floor
<span>{{ location.floor }}</span>
</span>
</div>
</div>
并显示属性的对象location,每个对象的字符串插值alarm。
最好的方法是什么?
【问题讨论】:
-
您遇到了什么问题?目前还不太清楚问题是什么
-
对象警报具有嵌套对象,因此为了避免在 html 中编写冗长的字符串插值,我更喜欢将其一些属性分配给对象并显示该对象。但要这样做,我需要将警报对象从 html 传递到组件。这将是我应该在 html 中编写的插值:
alarm.sensor.sentinel.monitorings_sentinels.monitoring.patient.location.floor -
@Abri 仍然不确定您要做什么,您需要添加更多代码。你看过组件输入和输出angular.io/guide/inputs-outputs 吗?
-
是的,但都是关于父子组件的,我需要来自模板和组件的“数据流”
-
@Abri 您是否通过单击卡片调用 customMethod(alarm) 以及您在哪里显示位置。楼层,位置。房间和位置。床在不同的组件中
标签: javascript angular typescript