我與Angular2 CLI和Meteor合作。 我注意到當我用Angular2 CLI生成一個組件時,如果我想將它包含在另一個模塊中,我只需要包含它並將其插入該模塊的聲明數組中。 Angular2 CLI Angular-Meteor組件創建
menu.component.ts
import { Component, OnInit } from '@angular/core';
import { MenuItem } from './menu-item';
import { MENUITEMS } from './mocks';
@Component({
selector: 'menu',
templateUrl: './menu.component.html',
styleUrls: ['./menu.component.css']
})
export class MenuComponent implements OnInit {
menuItems: MenuItem[];
constructor() { }
ngOnInit() {
this.menuItems= MENUITEMS;
}
}
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
import { MenuComponent } from './menu/menu.component';
import { HomeComponent } from './home/home.component';
import { TrendsComponent } from './trends/trends.component';
import { ControllerComponent } from './controller/controller.component';
import { WaterPlantComponent } from './water-plant/water-plant.component';
import { DocsComponent } from './docs/docs.component';
@NgModule({
declarations: [
AppComponent,
MenuComponent,
HomeComponent,
TrendsComponent,
ControllerComponent,
WaterPlantComponent,
DocsComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot([
{ path: 'home', redirectTo: '', pathMatch: 'full' },
{ path: '', component: HomeComponent },
{ path: 'trends', component: TrendsComponent },
{ path: 'controller', component: ControllerComponent },
{ path: 'waterplant', component: WaterPlantComponent },
{ path: 'docs', component: DocsComponent }
])
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
一起來看流星,之後我添加index.ts到menu.component文件夾它僅適用:
index.ts
import { MenuComponent } from './menu.component';
export * from './menu.component';
個
app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
import { PARTIES_DECLARATIONS } from './parties';
import { MenuComponent } from './menu/menu.component';
@NgModule({
imports: [
BrowserModule
],
declarations: [
AppComponent,
...PARTIES_DECLARATIONS,
MenuComponent
],
bootstrap: [
AppComponent
]
})
export class AppModule {}
可能的原因是編譯器(該tsconfig.json內),這是用於ES6 CLI和jscommon爲流星的 「模塊」?
謝謝您的幫助!
你的帖子很混亂,你說「有流星,它不工作,直到我沒有將文件index.ts添加到menu.component文件夾」 - 你真的想說「它只在我添加一個index.ts?「 – Mikkel
是的,就是這一點。發佈編輯,謝謝 –