没有TemplateRef的提供者!(NgIf-> TemplateRef)


247

我正在尝试显示一个勾号,如果答案是可接受的答案:

template: `<div ngIf="answer.accepted">&#10004;</div>`

但是我得到这个错误:

EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef)

我究竟做错了什么?

Answers:


598

您错过了*NgIf的前面(就像我们所有人一样,数十次):

<div *ngIf="answer.accepted">&#10004;</div>

如果没有使用*,Angular会发现ngIf指令已应用于div元素,但是由于没有*<template>标签,它无法定位模板,因此会出现错误。


如果您在Angular v5中遇到此错误:

错误:StaticInjectorError [TemplateRef]:
  StaticInjectorError [TemplateRef]:
    NullInjectorError:没有TemplateRef提供者!

您可能具有<template>...</template>一个或多个组件模板。将标签更改/更新为<ng-template>...</ng-template>


如果您使用不带星号的ngSwitchCase,也会发生同样的情况!
cmxl
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.