Angular2 生成器函数

spe*_*bob 5 typescript angular

在 Angular2 应用程序中,我想在模板之间startDateendDate模板中迭代所有天。像这样的东西:

<div *ngFor="let date of dateRange(startDate,endDate)">
    {{date}}
</div> 
Run Code Online (Sandbox Code Playgroud)

我意识到我可以预先计算所有这些日期并将它们存储在一个数组中,然后再显示它们,但我宁愿不占用内存。我一直在阅读 javascript生成器函数,似乎在 vanilla javascript 中,我可以这样做:

function* dateRange(start,end) { 
    let cur = start;
    while (cur <= end) {
        yield cur;
        cur.setDate(cur.getDate() + 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在 Angular2 组件中使用这样的生成器函数,它可以在模板迭代器中使用?

bas*_*rat 1

我可以预先计算所有这些日期并将它们存储在一个数组中,然后再显示它们,但我不想占用内存

任何内存都会比 DOM 与所有这些 dom 元素使用的内存少得多。

我能想到的唯一解决方案是在使用之前从生成器中创建一个数组ngFor,此时为什么不只使用数组。