【问题标题】:Open a page in new tab with router without refreshing app in Angular 2使用路由器在新选项卡中打开页面而不在Angular 2中刷新应用程序
【发布时间】:2017-10-06 15:35:30
【问题描述】:

我正在使用服务在组件之间传递数据,但是当我在新标签中打开一个页面时,如下所示:

<a [routerLink]="['/preview ']" target="_blank" class="btn">Preview</a>

然后应用程序刷新并且服务中的数据丢失;但是如果我省略 target="_blank" 那么数据将被传递给组件。但是我需要在单击时在新选项卡上打开另一个页面,我怎样才能在不丢失传递数据的情况下做到这一点?我的代码类似于PLUNK。提前致谢。

【问题讨论】:

    标签: typescript angular2-routing angular2-services


    【解决方案1】:

    由于 Angular 服务实例只是幕后“普通”的 js 对象,因此您不能使用它们在选项卡之间传递数据。在这种情况下,我看到了两种方法:

    1) 将数据存储在 localStorage 中,并在 app.component 初始化时从任何新选项卡访问它

    2) 通过 Url 参数传递数据并为此配置特定的角度路线(看https://angular.io/guide/router

    【讨论】:

    猜你喜欢
    • 2017-10-06
    • 2015-01-19
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    相关资源
    最近更新 更多