我在Angular應用程序中有一個主組件和許多子組件。我使用的是渲染子組件。像這樣的東西。組件間事件綁定Angular 2
<body class="nav-md">
<mainComponent></mainComponent>
<router-outlet></router-outlet>
</body>
我的主要組件有一個搜索框和一個按鈕。當我點擊mainComponent中的按鈕時,我想調用我的子組件的函數。任何幫助,將不勝感激。
我在Angular應用程序中有一個主組件和許多子組件。我使用的是渲染子組件。像這樣的東西。組件間事件綁定Angular 2
<body class="nav-md">
<mainComponent></mainComponent>
<router-outlet></router-outlet>
</body>
我的主要組件有一個搜索框和一個按鈕。當我點擊mainComponent中的按鈕時,我想調用我的子組件的函數。任何幫助,將不勝感激。
在這種情況下,您可以使用ViewChild。
例子:
import { Component, ViewChild } from '@angular/core';
import { ChildComponent } from '../child.component';
@Component({
selector: 'mainComponent',
template: '<search (onSearch)="onSearch($event)"></search><child-component></child-component>',
})
export class MainComopnent{
// ViewChild takes a class type or a reference name string.
// Here we are using the type
@ViewChild(ChildComponent) child: ChildComponent;
onSearch(search: string) {
this.child.say(search);
}
}
@Component({
selector: 'child-component'
})
export class ChildComponent {
say(something: string) {
console.log(something);
}
}
請新增主要成分和子組件的HTMl \ TS的代碼,這樣任何一個可以提供幫助。 –