错误错误:ngIfElse必须为TemplateRef,但收到“true”

HTML文件

<select class="form-control">
  <option selected value="0">Select Manufacturer</option>
  <option *ngFor="let brand of allMakes">
     {{ brand.brand }}
  </option>
</select>

ts文件
  this.allMakes = [{
    id: '1',
    brand: 'Mazda'
  },
  {
    id: '2',
    brand: 'Audi',
  }];

从我从Angular 5升级到Angular 6之后,一切就开始了

控制台日志错误
ERROR Error: ngIfElse must be a TemplateRef, but received 'true'.
  at Vt (main.6e360f04b7d39ee1dc33.bundle.js:1)
  at t.set [as ngIfElse] (main.6e360f04b7d39ee1dc33.bundle.js:1)
  at Sa (main.6e360f04b7d39ee1dc33.bundle.js:1)
  at main.6e360f04b7d39ee1dc33.bundle.js:1
  at main.6e360f04b7d39ee1dc33.bundle.js:1
  at es (main.6e360f04b7d39ee1dc33.bundle.js:1)
  at Os (main.6e360f04b7d39ee1dc33.bundle.js:1)
  at Object.updateDirectives
  (main.6e360f04b7d39ee1dc33.bundle.js:1)
  at Object.updateDirectives (main.6e360f04b7d39ee1dc33.bundle.js:1)
  at ts (main.6e360f04b7d39ee1dc33.bundle.js:1)

最佳答案

对于带有else块的ngIf,您需要在<ng-template>文件中使用.html块作为else。

这是示例代码:
<div *ngIf="condition; else elseBlock">Content to render when condition is true.</div><ng-template #elseBlock>Content to render when condition is false.</ng-template>

09-17 11:43