Angular 6 HTML中的条件包装

时间:2018-11-04 14:09:13

标签: angular

我有一个组件,并且定义了内部带有日期的对象数组

calendarDates = [
 {date: "2018-11-01"}, 
 {date: "2018-11-02"}, 
 {date: "2018-11-03"}, 
 {...},
 {date: "2018-12-01"}, 
 {date: "2018-12-02"}, 
 {date: "2018-12-03"}, 
 {date: "2018-12-04"}, 
 {...},
 {date: "2019-01-01"},
 {date: "2019-01-02"},
 {...}
 ]

我的目标是循环浏览组件HTML中的calendarDate并按以下方式对其进行分类:

 //<div *ngFor='let calendarDate of calendarDates'>
   <div class='month'>
     <div class='week'>
       <div class='date'>{{calendarDate.date}}</div>
       <div class='date'>{{calendarDate.date}}</div>
       <div class='date'>{{calendarDate.date}}</div>
       ...
     </div>
     <div class='week'>
       <div class='date'>{{calendarDate.date}}</div>
       ...
     </div>
     ...
  </div>
   <div class='month'>
     <div class='week'>
       <div class='date'>{{calendarDate.date}}</div>
       <div class='date'>{{calendarDate.date}}</div>
       <div class='date'>{{calendarDate.date}}</div>
       ...
     </div>
     <div class='week'>
       <div class='date'>{{calendarDate.date}}</div>
       ...
     </div>
     ...
  </div>
//</div>

为此,我创建了两个函数:

  dateIsMonday(date) {
    if (new Date(date).getDay() === 1) {
      return true;
    } else {
      return false;
    }
  }

  dateIsFirstDayOfMonth(date) {
    if (new Date(date).getDate() === 1) {
      return true;
    } else {
      return false;
    }
  }

使用此函数和一些其他函数,我可以对其进行分类,但是我不确定是否可以以及如何创建包装器:如何仅在dateIsFirstDayOfMonth()为true时创建,然后从同月我该如何添加到里面?我希望在html中使用这种角度方式,但是如果不可能,角度是否有其他选择?

PS:我不确定标题是否与问题同步,因此请帮助进行编辑。

0 个答案:

没有答案