【发布时间】:2020-02-12 18:39:03
【问题描述】:
我正在使用 Angular 4 应用程序,我需要在新的子窗口中显示特定组件。所以我研究了一个解决方案(我不是在寻找一个通过 url 路由的解决方案,因为我的服务器总是用 window.open('some URL')重新定向到索引,所以带有附加的 window.open('')可能是解决方案),我找到了这个 stackblitz 示例 StackBlitz Example
在该示例中,正在使用 CdkPortal 。问题显然是 cdk 门户不在 angular 4 中(我不舒尔,但这个错误显示@angular/cdk/portal"' has no exported member 'CdkPortal')
我只是复制并粘贴上一个示例,因为这正是我需要的,但在我的角度版本中不起作用。
是否有 angular 4 的等效示例?
附加
在示例中,他们使用此代码片段来显示窗口
<window *ngIf="showPortal">
<h2>Hello world from amother window!!</h2>
<button (click)="this.showPortal = false">Close me!</button>
</window>
所以我的问题是......是否可以在我想在门户中附加的组件内添加其他组件?像这样的。
<window *ngIf="showPortal">
<my-other-component [currentValue]="someValue"></my-other-component>
</window>
如果可行,该组件会正常工作吗?
【问题讨论】:
-
你可以在你的组件模板中添加另一个组件,但是你需要使用
ng-container指令而不是把它放在窗口组件里面。 -
@Sergio Mendez 你检查过我的回答对你有帮助吗?
标签: angular typescript window portal