Tidak ada penyedia untuk TemplateRef! (NgIf -> TemplateRef)


247

Saya mencoba menunjukkan tanda centang jika jawaban adalah jawaban yang diterima:

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

Tapi saya mendapatkan kesalahan ini:

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

Apa yang saya lakukan salah?

Jawaban:


599

Anda melewatkan bagian *depan NgIf (seperti yang kita semua miliki, puluhan kali):

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

Tanpa *, Angular melihat bahwa ngIfarahan sedang diterapkan ke divelemen, tetapi karena tidak ada *atau <template>tag, itu tidak dapat menemukan templat, karenanya kesalahan.


Jika Anda mendapatkan kesalahan ini dengan Angular v5:

Kesalahan: StaticInjectorError [TemplatRef]:
  StaticInjectorError [TemplatRef]:
    NullInjectorError: Tidak ada penyedia untuk TemplatRef!

Anda mungkin memiliki <template>...</template>dalam satu atau beberapa templat komponen Anda. Ubah / perbarui tag ke <ng-template>...</ng-template>.


Pengecualian yang sama juga dapat terjadi jika Anda menggunakan ngSwitchCase tanpa tanda bintang!
cmxl
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.