【发布时间】:2018-03-09 19:51:10
【问题描述】:
我创建了一个子组件,它有一个我想在调用父组件方法时执行的方法。
这似乎是重复的问题,如下所示。
Call child component method from parent class - Angular
当我在父组件模板中包含子组件时,这非常有效,例如
<parent-comp> <child-comp></child-comp></parent-comp>.
但是,在我的情况下,我使用路由加载子组件,在这种情况下,我无法执行子方法,因为 viewchild 为 null。
下面是快速启动 Angular 应用程序,其中包含我的更改。
import { Component, ViewChild } from "@angular/core";
import { ItemCompanyComponent } from "../item/Company/ItemCompanyComponent";
@Component({
moduleId: module.id,
selector: "item-add",
templateUrl: "ItemComponent.html"
})
export class ItemComponent {
@ViewChild(ItemCompanyComponent) public child: ItemCompanyComponent;
ngAfterViewInit(): void {
this.save = () => {
alert("Item Component Save");
this.child.childsave();
}
}
save(): void {
}
}
@Component({
moduleId: module.id,
selector: "item-company",
templateUrl: "ItemCompanyComponent.html"
})
export class ItemCompanyComponent {
childsave(): void {
alert("Item Company Component Save");
}
}
ItemComponent.html:
<div class="main-content" fxFlex>
<router-outlet></router-outlet>
</div>
项目组件中的子属性为空。任何解决方案都非常可观。
【问题讨论】:
标签: angular typescript1.4