gpt4 book ai didi

angular - 从父级访问路由器导出组件

转载 作者:太空狗 更新时间:2023-10-29 16:56:10 24 4
gpt4 key购买 nike

我有以下应用根目录:

@Component({
selector: 'my-app',
providers: [],
templateUrl: `<button (click)="callChildFunction()">Close</button>
<router-outlet></router-outlet>`
})
export class AppComponent {

constructor() {

}

callChildFunction(){
// Call myFunction() here
}

}

这是我的 child (router-outlet 中使用的组件):

@Component({
selector: 'child',
providers: [],
templateUrl: `<div>Hello World</div>`
})
export class ChildComponent {

constructor() {

}

myFunction(){
console.log('success');
}

}

我发现我可以使用 RouterOutlet获取组件功能,但它似乎无法从应用程序根目录中访问。

如何从应用根目录调用 myFunction()

最佳答案

利用 activate 事件实现相同的 .每当我们在路由器导出加载一个组件时,都会发出一个激活事件,利用它来获取组件引用并调用相应的方法。

父组件

  <div class="container">
<router-outlet (activate)="onActivate($event)"></router-outlet>
</div>

模板

  onActivate(componentRef){
componentRef.works();
}

子组件

 works(){
console.log("works");
}

关于angular - 从父级访问路由器导出组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45720655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com