Angular 为什么属性数组在模板中总是返回null
我的angular模板中有以下代码Angular 为什么属性数组在模板中总是返回null,angular,angular7,Angular,Angular7,我的angular模板中有以下代码 {{myObject.dayList|async|json}} 但是,尽管组件中填充了对象,页面中始终显示“null”。我可以将它记录到控制台,并且它已经填充了数据,这一事实证明了这一点 如果我这样做 {{myObject|async|json}} 它显示对象的json,包括填充的dayList数组 发生了什么事 这是我的对象 export class myObject{ public timetableItems:TimetableItemVie
{{myObject.dayList|async|json}}
但是,尽管组件中填充了对象,页面中始终显示“null”。我可以将它记录到控制台,并且它已经填充了数据,这一事实证明了这一点
如果我这样做
{{myObject|async|json}}
它显示对象的json,包括填充的dayList数组
发生了什么事
这是我的对象
export class myObject{
public timetableItems:TimetableItemViewModel[];
public dayList:number[];
}
日志内容
{dayList:Array(1),timetableItems:Array(2)}dayList:
[1] timetableItems:(2)[{…},{…}]0:{assignedClass:{…},assignedRoom:
{…},assignedPeriod:{…}}1:assignedClass:{classId:1027,className:
“English1”,主题:2004,周期数:1,资产:
数组(1),…}assignedPeriod:{periodId:1006,dayNumber:1,
periodTypeId:2,accountId:“00000000-0000-0000-0000-000000000000”,
periodNumber:2}分配的房间:{roomId:19,roomName:“Room1”,
主题:2004,资产:数组(1),容量:20,…}proto:
Objectlength:2_uu协议:数组(0)proto:对象
您的日志具有
dayList
而不是daylitems
。尝试:
`<div *ngIf="myObject| async; let obj">
{{obj.dayList | json}}
</div>`
`
{{obj.dayList}json}
`
注:根据克里斯蒂安的评论修改答案只有当您正在管道中的对象是
承诺
或可观察
时,异步
管道才起作用。在您的情况下,如果myObject
是一个可观察的,但myObject.dayList
不是,您可能需要获取myObject
的异步值,然后从中读取属性dayList
:
{{ (myObject | async).dayList }}
您的myObject
是一个可观察对象,因此需要在async
管道中使用,因为它需要一个可观察对象:
{{ (myObject | async)?.dayList | json }}
安全导航操作员?。
确保您不会出现空指针错误您可以在订阅并显示输出后在stackbiltz或console.log(myObject)中共享它吗?我已经用日志详细信息更新了问题这是myObject
的日志吗?不,我的错。现在就更新,反正也不行dayList
既不是可观察的,也不是承诺我假设它是类型为myObject
的可观察的,否则他为什么要使用async
它应该是dayList。我打错了。现在updated.MyObject是组件中的可见对象。dayList也需要是可观察的吗?不。。你能和斯塔克比尔茨分享吗