假设我有 2 个组件,aComponent并且bComponent. 我把它们重新放在里面AppComponent
<app-a>
<app-b>
而且我有myService有方法的服务.trigger()。
我想要的是仅显示aComponent,但每当我myService.trigger()从另一部分代码调用时,它就会切换并显示bComponent。这是我无法达到的完美实现。
问题是:有可能这样做吗?如果不是什么是最好的最接近的解决方案。
我得到的唯一可行的解决方案:
我.trigger()在里面加了AppComponent
export class AppComponent {
title = 'spa';
show: boolean = false;
trigger() {
this.show = true;
}
}
并像这样渲染组件:
<div *ngIf="!show; else show">
<app-a></app-a>
</div>
<ng-template #show>
<app-b></app-b>
</ng-template>
然后每当我想触发切换时,我将应用程序的实例添加到构造函数并调用它的方法:
export class AnotherComponent implements OnInit {
constructor(
private app: AppComponent
) {}
ngOnInit(): void {
this.app.trigger();
}
}
即使它工作得很好,我自己也看到这是一个肮脏的解决方案。组件不打算在另一个组件内部使用,但服务是。
慕妹3242003
SMILET
相关分类