Angular 为什么属性数组在模板中总是返回null

Angular 为什么属性数组在模板中总是返回null,angular,angular7,Angular,Angular7,我的angular模板中有以下代码 {{myObject.dayList|async|json}} 但是,尽管组件中填充了对象,页面中始终显示“null”。我可以将它记录到控制台,并且它已经填充了数据,这一事实证明了这一点 如果我这样做 {{myObject|async|json}} 它显示对象的json,包括填充的dayList数组 发生了什么事 这是我的对象 export class myObject{ public timetableItems:TimetableItemVie

我的angular模板中有以下代码

{{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也需要是可观察的吗?不。。你能和斯塔克比尔茨分享吗