Saya memiliki aplikasi Angular 2.0.0 yang dihasilkan dengan angular-cli.
Ketika saya membuat komponen dan menambahkannya ke AppModule
deklarasi array itu semua baik, itu berfungsi.
Saya memutuskan untuk memisahkan komponen, jadi saya membuat TaskModule
komponen TaskCard
. Sekarang saya ingin menggunakan TaskCard
di salah satu komponen AppModule
( Board
komponen).
AppModule:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { BoardComponent } from './board/board.component';
import { LoginComponent } from './login/login.component';
import { MdButtonModule } from '@angular2-material/button';
import { MdInputModule } from '@angular2-material/input';
import { MdToolbarModule } from '@angular2-material/toolbar';
import { routing, appRoutingProviders} from './app.routing';
import { PageNotFoundComponent } from './page-not-found/page-not-found.component';
import { UserService } from './services/user/user.service';
import { TaskModule } from './task/task.module';
@NgModule({
declarations: [
AppComponent,
BoardComponent,// I want to use TaskCard in this component
LoginComponent,
PageNotFoundComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
MdButtonModule,
MdInputModule,
MdToolbarModule,
routing,
TaskModule // TaskCard is in this module
],
providers: [UserService],
bootstrap: [AppComponent]
})
export class AppModule { }
TaskModule:
import { NgModule } from '@angular/core';
import { TaskCardComponent } from './task-card/task-card.component';
import { MdCardModule } from '@angular2-material/card';
@NgModule({
declarations: [TaskCardComponent],
imports: [MdCardModule],
providers: []
})
export class TaskModule{}
Seluruh proyek tersedia di https://github.com/evgdim/angular2 (folder kanban-board)
Apa yang saya lewatkan? Apa yang harus saya lakukan untuk digunakan TaskCardComponent
di BoardComponent
?
sumber
Anda harus melakukannya
export
dariNgModule
:sumber
(Sudut 2 - Sudut 7)
Komponen dapat dideklarasikan dalam satu modul saja. Untuk menggunakan komponen dari modul lain, Anda perlu melakukan dua tugas sederhana:
Modul 1:
Memiliki komponen (sebut saja: "ImportantCopmonent"), kami ingin menggunakannya kembali di halaman Modul ke-2.
Modul ke-2:
Menggunakan kembali "ImportantCopmonent", dengan mengimpor FirstPageModule
sumber
Perhatikan bahwa untuk membuat apa yang disebut "modul fitur", Anda perlu mengimpor
CommonModule
di dalamnya. Jadi, kode inisialisasi modul Anda akan terlihat seperti ini:Informasi lebih lanjut tersedia di sini: https://angular.io/guide/ngmodule#create-the-feature-module
sumber
Apa pun yang ingin Anda gunakan dari modul lain, cukup letakkan di larik ekspor . Seperti ini-
sumber
Satu pendekatan besar dan hebat adalah memuat modul dari a
NgModuleFactory
, Anda dapat memuat modul di dalam modul lain dengan memanggil ini:Saya mendapat ini dari sini .
sumber
SOLVED BAGAIMANA CARA MENGGUNAKAN KOMPONEN YANG DEKAT DALAM MODUL DI MODUL LAINNYA.
Berdasarkan penjelasan Royi Namir (Terima kasih banyak). Ada bagian yang hilang untuk menggunakan kembali komponen yang dideklarasikan dalam Modul di modul lain saat pemuatan malas digunakan.
1: Ekspor komponen dalam modul yang berisi itu:
2nd: Di modul tempat Anda ingin menggunakan TaskCardComponent:
Seperti ini, modul kedua mengimpor modul pertama yang mengimpor dan mengekspor komponen.
Ketika kita mengimpor modul di modul kedua kita perlu mengekspornya lagi. Sekarang kita dapat menggunakan komponen pertama dalam modul kedua.
sumber