Angular2发电机功能

时间:2016-10-10 05:03:22

标签: angular typescript

在Angular2应用中,我想在模板中迭代startDateendDate之间的所有日子。像这样:

<div *ngFor="let date of dateRange(startDate,endDate)">
    {{date}}
</div> 

我意识到我可以预先计算所有这些日期并在显示它们之前将它们存储在一个数组中,但我宁愿不占用内存。我一直在阅读javascript generator functions,看起来像是在vanilla javascript中,我可以这样做:

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

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

1 个答案:

答案 0 :(得分:0)

  

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

任何内存都将远远少于DOM使用所有这些dom元素的内存。

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