Angular 4 Typescript - 构造随后 7 天的日期数组

2024-04-25

我想构造一个包含 7 个日期的数组。这些日期将是 SelectedDate 后的 7 天。我在 Component.ts 中编写了以下代码

public selectedWeekDates: Date [];

public selectedWeek: Date = new Date();

SetSelectedWeekDates(): void {
    var dte = new Date();
    dte = this.selectedWeek;
    for (let i: number = 1; i < 8; i++) {            
        this.selectedWeekDates[i - 1].setDate(dte.getDate() + i);
    }

}

我的html如下

.
.
.
<ng-container *ngFor="let dates of selectedWeekDates">
    <div style="padding: 10px;">
        {{ dates| date:"dd" }}
    </div>
</ng-container>
.
.
.

我在控制台中收到以下错误

类型错误:无法获取未定义或空引用的属性“0” 在 xxxComponent.prototype.SetSelectedWeekDates (评估代码:179:143)

我可以知道我的代码有什么问题吗?


在你的函数中,你正在使用setDate的元素上的函数this.selectedWeekDates虽然它们是未定义的。你应该使用this.selectedWeek or dte获取并设置您的日期如下:

SetSelectedWeekDates(): void {
    let dte: Date = new Date(this.selectedWeek);        
     for (let i = 1; i < 8; i++) {            
        this.selectedWeekDates[i-1]=new Date(dte.setDate(dte.getDate() + 1));
        }

}

也可以代替添加i在 getDate() 之后,随着 setDate() 函数递增,按上面的方法加 1dte每次迭代中增加一天,这意味着 dte 在每次迭代后都会更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 4 Typescript - 构造随后 7 天的日期数组 的相关文章

随机推荐