我正在用Angular 2(在其最新版本中)構建應用程序,並且我想在組件之間進行通信。 如何在Angular 2中溝通組件
這是我的工作區:
src
app
navbar
navbar.component.ts
footer
footer.component.ts
section
dashboard
dashboard.component.ts
section.component.html
section.component.ts
section.module.ts
sidebar
sidebar.component.ts
app.component.html
app.module.ts
assets
我想從dashboard.component.ts呼叫在footer.component.ts的方法。
這是我的代碼:
footer.component.ts
export class FooterComponent implements OnInit {
ngOnInit() {
}
walking(){
console.log("Method of called walking");
}
}
dashboard.component.ts
export class DashboardComponent implements OnInit {
ngOnInit() {
}
callWalking(){
console.log("Call to walking method");
}
}
app.module.ts
@NgModule({
declarations: [
AppComponent,
SectionComponent,
SidebarComponent,
NavbarComponent,
FooterComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
SectionModule,
RouterModule.forRoot([])
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.html
<app-navbar></app-navbar>
<app-sidebar></app-sidebar>
<app-section></app-section>
<app-footer></app-footer>
section.module.ts
@NgModule({
imports: [
CommonModule,
RouterModule.forRoot(
[
{ path: 'dashboard', component: DashboardComponent },
{ path: '', redirectTo: 'dashboard', pathMatch: 'full' },
{ path: '**', component: DashboardComponent }
]
)
],
declarations: [DashboardComponent]
})
export class SectionModule { }
section.component.html
<router-outlet></router-outlet>
我真的想從組件dashboard.component.ts
如何調用「頁腳部件>行走()」方法調用「走()」的組成部分「footer.component.ts」方法從面板組件方法> callWalking()?
在Java中的Android,我可以用靜態方法或實施巴士的活動或片段的 通信,在角我不知道 我能做些什麼
callWalking實際上做了什麼?如果它只是一個工具,我會把它分解成它自己的類,並將它拖到需要的地方。如果實際需要在兩個組件之間傳遞信息,也可以使用輸入綁定:https://angular.io/guide/component-interaction#!#bidirectional-service –
@DanWeber它是否可以在不同組件之間傳遞數據?在文檔中說:將父母的數據傳遞給帶有傳入鏈接的孩子,而我的組件不是父母和孩子。或者至少我不知道它們是否是,我認爲不是:(。) –
它們都是應用程序組件的子組件(嵌套組件)。 – DeborahK