Angular2没有TemplateRef的提供者! (NgIf – > TemplateRef)
我试图显示一个复选标记,如果答案是被接受的答案:
template: `<div ngIf="answer.accepted">✔</div>`
但是我得到这个错误:
EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef)
我究竟做错了什么?
你错过了NgIf前面的*
(像我们都有,几十次):
<div *ngIf="answer.accepted">✔</div>
如果没有*
,Angular会看到ngIf
指令被应用于div
元素,但由于没有*
或<template>
标签,因此无法定位模板,因此出现错误。
如果您在Angular v5中遇到这个错误:
错误:StaticInjectorError [TemplateRef]:
StaticInjectorError [TemplateRef]:
NullInjectorError:没有TemplateRef的提供者!
您可能在一个或多个组件模板中有<template>...</template>
。 将标签更改/更新为<ng-template>...</ng-template>
。
我没有得到这个包含模板或类似的问题的错误。 发生此错误是因为一些代码错误,如:
`object.omeProperty1> 0'someProperty1'属性可能不存在。
所以其他一些错误的代码可能会触发这个错误。 希望能帮助到你!