Javascript @角度组件中的Input()属性返回空数组
我有一个日历组件,其数据属性装饰为@Input: 我从另一个组件传入数据,如下所示:Javascript @角度组件中的Input()属性返回空数组,javascript,angular,typescript,angular7,Javascript,Angular,Typescript,Angular7,我有一个日历组件,其数据属性装饰为@Input: 我从另一个组件传入数据,如下所示: <app-calendar [data]="this.calendarData"></app-calendar> console.log(this.data[0]) 我想先解析这些数据,然后再将其呈现到视图中。每当我尝试在日历组件中console.log data属性时,我会得到一个奇怪的数组,它显示为空,我可以从浏览器控制台“打开”它: 当我尝试这样记录值时: <app-c
<app-calendar [data]="this.calendarData"></app-calendar>
console.log(this.data[0])
我想先解析这些数据,然后再将其呈现到视图中。每当我尝试在日历组件中console.log data属性时,我会得到一个奇怪的数组,它显示为空,我可以从浏览器控制台“打开”它:
当我尝试这样记录值时:
<app-calendar [data]="this.calendarData"></app-calendar>
console.log(this.data[0])
或
我得到了未定义的值。从构造函数中删除这个。数据=[],使用依赖注入时避免更改任何内容
对于要在模板中使用的每个输入,使用set和get,这是一种最佳实践
私有数据:日历日[];
@输入集数据数据:日历日[]{
ifdata{
这个。_data=数据;
}
}
获取数据:CalendarDay[]{
返回此。\u数据;
}
在HTML中,您应将其与以下内容一起传递:
在日历组件中,您可以与一起使用
{{item.date}
从构造函数中删除this.data=[],避免在使用dependecy Injection时更改任何内容
对于要在模板中使用的每个输入,使用set和get,这是一种最佳实践
私有数据:日历日[];
@输入集数据数据:日历日[]{
ifdata{
这个。_data=数据;
}
}
获取数据:CalendarDay[]{
返回此。\u数据;
}
在HTML中,您应将其与以下内容一起传递:
在日历组件中,您可以与一起使用
{{item.date}
您是否尝试过从构造函数中删除初始化?那不需要在那里。您应该避免在构造函数中放入依赖项注入以外的任何内容。请尝试创建一个,我建议您尝试过从构造函数中删除初始化吗?那不需要在那里。您应该避免在构造函数中放入依赖项注入以外的任何内容。我建议您尝试创建一个
console.log(changes.data.currentValue[0])