Saya baru di Angular2. Saya telah mencoba membuat komponen tetapi menunjukkan kesalahan.
Ini adalah app.component.ts
filenya.
import { Component } from '@angular/core';
import { MyComponentComponent } from './my-component.component';
@Component({
selector: 'my-app',
template: `
<h1>Hello {{name}}</h1>
<h4>Something</h4>
<my-component></my-component>
`,
directives: [MyComponentComponent]
})
export class AppComponent { name = 'Sam' }
Ini adalah komponen yang ingin saya buat.
import { Component } from '@angular/core';
@Component({
selector: 'my-component',
template: `
<p>This is my article</p>
`
})
export class MyComponentComponent {
}
Menampilkan dua kesalahan:
- Jika
my-component
merupakan komponen Angular, verifikasi bahwa itu adalah bagian dari modul ini. - Jika
my-component
Komponen Web, tambahkanCUSTOM_ELEMENTS_SCHEMA
ke@NgModule.schemas
komponen ini untuk menyembunyikan pesan ini.
Tolong bantu.
angular
typescript
Vimal
sumber
sumber
Mungkin ini untuk nama
html
komponen tagAnda menggunakan
html
sesuatu seperti ini<mycomponent></mycomponent>
Anda harus menggunakan ini
<app-mycomponent></app-mycomponent>
sumber
html
tag menentukanselector
properti. Dalam kasus ini adalahmy-component
.apakah Anda mengimpornya
app.module.ts
seperti Anda dan menghapus sedikit arahan: -Anda
MyComponentModule
harus seperti ini: -sumber
exports
Periksa selektor Anda di namafile.component.ts
Menggunakan tag di berbagai file html yang akan saya katakan
Seharusnya
Contoh
sumber
Dalam kasus saya, saya menulis pengujian unit untuk komponen yang menggunakan sub-komponen, dan saya menulis tes untuk memastikan subkomponen tersebut ada di template:
Saya tidak mendapatkan kesalahan, tetapi peringatan:
Selain itu, subkomponen tidak muncul di dalam browser selama pengujian.
Saya biasa
ng g c newcomponent
membuat semua komponen, jadi mereka sudah dideklarasikan di appmodule, tetapi bukan modul pengujian yang untuk komponen yang saya tentukan.sumber
Anda harus mendeklarasikan MyComponentComponent Anda dalam modul yang sama di AppComponent Anda.
sumber
MyComponentComponent
diMyComponentModule
MyComponentComponent
keexports
atributMyComponentModule
mycomponentModule.ts
MyComponentModule
keimports
atribut AppModule Andaapp.module.ts
Penting Jika Anda masih mengalami kesalahan itu, Hentikan server Anda
ctrl+c
dari terminal, dan jalankan kembaling serve -o
sumber
Dalam kasus saya, saya memiliki komponen dalam modul Bersama.
Komponen sedang dimuat dan bekerja dengan baik tetapi skrip ketikan menyorot tag html dengan garis merah dan menunjukkan pesan kesalahan ini.
Di dalam komponen ini, saya perhatikan saya tidak mengimpor operator rxjs.
Ketika saya menambahkan impor ini, pesan kesalahan menghilang.
Periksa semua impor di dalam komponen .
Semoga membantu seseorang.
sumber
Periksa modul mana yang komponen induknya dideklarasikan di ...
Jika komponen induk Anda ditentukan dalam modul bersama, begitu pula modul anak Anda.
Komponen induk dapat dideklarasikan dalam modul bersama dan bukan modul yang logis berdasarkan struktur / penamaan direktori file, bahkan CLI Angular menambahkannya ke modul yang salah dalam kasus saya.
sumber
Semoga Anda mengalami
app.module.ts
. Diapp.module.ts
tambahkan baris di bawah Anda-Seperti ini:
sumber
Di components.module.ts Anda, Anda harus mengimpor IonicModule seperti ini:
import { IonicModule } from '@ionic/angular';
Kemudian impor IonicModule seperti ini:
jadi components.module.ts Anda akan seperti ini:
sumber
Jangan
export **default** class MyComponentComponent
!Masalah terkait yang mungkin termasuk dalam judul, jika bukan pertanyaan spesifik:
Saya tidak sengaja melakukan ...
... dan itu juga mengacaukan segalanya.
Mengapa? VS Code menambahkan impor ke modul saya ketika saya memasukkannya
declarations
, tetapi alih-alih ...itu punya
Dan itu tidak memetakan ke hilir, diasumsikan karena tidak "benar-benar" dinamai di mana pun dengan impor default.
Tidak
default
. Keuntungan.sumber