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.