ฉันพยายามแสดงเครื่องหมายถูกหากคำตอบคือคำตอบที่ยอมรับได้:
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>
ปรับปรุงแท็ก