ฉันพยายามแสดงเครื่องหมายถูกหากคำตอบคือคำตอบที่ยอมรับได้:
template: `<div ngIf="answer.accepted">✔</div>`
แต่ฉันได้รับข้อผิดพลาดนี้:
EXCEPTION: No provider for 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>ปรับปรุงแท็ก