如何使用模板ngIF正确加载数据

时间:2018-04-19 08:20:52

标签: angular

我希望根据我的数据值显示文字:

  • 如果数据未设置我想显示“等待”
  • 如果数据为空,我想在此显示“ok”
  • 如果数据不为空,我想在此处显示“占用”

这是我的模板(在循环中):

<ul>
    <li class="heure" *ngFor="let heure of libelleTranche" [ngClass]="{ odd: (heure%2 == 0), even: heure %2 == 1 } ">
        <a  *ngIf="heure.unavailable==false" [ngClass]="{ red : heure.unavailable }">
          occupé
        </a>
        <li class="heure" *ngFor="heure.unavailable=false" [ngClass]="{ odd: (heure%2 == 0), even: heure %2 == 1 } ">
        <a  *ngIf="heure.unavailable==true" [ngClass]="{ red : heure.unavailable }">
               ok
        </a>
        <a  *ngIf="heure.unavailable==0" [ngClass]="{ red : heure.unavailable }">
            wait ...
        </a>
    </li>
</ul>

这是我的组成部分:

import { Component, OnInit } from '@angular/core';
import { CalendarModel } from '../calendar-model';
import { Injectable } from '@angular/core';
import { SemaineComponent } from '../semaine/semaine.component';
import { CalendarService } from '../calendar.service';

@Injectable()

@Component({
  selector: 'app-heure',
  templateUrl: './heure.component.html',
  styleUrls: ['./heure.component.css']
})

export class HeureComponent implements OnInit {

  parTranche: number = 3600; //par tranche d'une heure 3600 seconde
  trancheDeb: number = 8;//la journée commence à 8H
  trancheFin: number = 17;//la journée se termine à 17H

  plageJour = this.trancheFin - this.trancheDeb;
  plageHeure = new Array();// = this._semaine.courrantSemaine; si elle est vide pas d'affichage avec ngIf != 0

  debJ0H;//sauvegarde le jour J

  constructor(private _calendar: CalendarModel, private _semaine: SemaineComponent, private _calendarService: CalendarService) {
    this.debJ0H = this._semaine.courrantSemaine[this._semaine.iBoucle];
  //  this.plageHeure.push({ "afficheH": this.trancheDeb, "unavailable": false });

我的第一次尝试是测试plageHeure是一个空数组,但我有一个解析错误:

  

分析器错误:绑定不能包含第19列中的分配   [heure.unavailable = false]在ng:///AppModule/HeureComponent.html@5:26   (”                 occupé                              ] * ngFor =“heure.unavailable = false”[ngClass] =“{odd :( heure%2 == 0),even:heure%2 == 1}”&gt;               &lt;“):ng:///AppModule/HeureComponent.html@5:26       分析器错误:绑定不能包含[heure.unavailable = false]中第19行的赋值:ng / ///AppModule/HeureComponent.html@5:26   (”                 occupé               

如何让我的模板正常工作?

谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

感谢回复,这是我测试简单模板时的模板:

&#13;
&#13;
<ul>
    ** test template ** 

    <!-- 

            <li class="heure" *ngFor="let heure of libelleTranche" [ngClass]="{ odd: (heure%2 == 0), even: heure %2 == 1 } ">
        <a  *ngIf="heure.unavailable==false" [ngClass]="{ red : heure.unavailable }">
          occupé
        </a>
    
        <a  *ngIf="heure.unavailable==true" [ngClass]="{ red : heure.unavailable }">
               ok
        </a>
        <a  *ngIf="heure.unavailable==0" [ngClass]="{ red : heure.unavailable }">
            wait ...
        </a>
    </li>
    -->

</ul>
&#13;
&#13;
&#13;

enter image description here