打开新窗口(选项卡)并保留数据

时间:2015-07-13 11:56:59

标签: javascript angularjs angular-ui-router

此问题与Angular uiRouter open state in new window or tab with stateParams类似,但唯一的答案似乎不起作用。

我显示一个网格,用户最多可以选择1000行。有一个打印按钮,它应该打开浏览器中的新标签,这些行以可打印的格式显示。

在我的控制器中,我在服务中设置这些行(文章),然后打开新窗口:

 articlesService.setArticles(selected);
                $window.open($state.href('newwindow', {}, {absolute: true}), '_blank');

这会打开新标签页,但我的服务中的数据会丢失。我真的应该使用新标签。我正在考虑将数据存储在cookie中,但由于我可能有超过1000行,所以这不是一个选项。我也没有在网址中传递任何内容,因为用户可以选择他想要的任何内容。

有没有办法实现这个功能?

1 个答案:

答案 0 :(得分:1)

您需要使用ngStorage存储数据:

http://ngmodules.org/modules/ngStorage

此模块使您可以在浏览器中存储数据,并从不同的选项卡甚至跨会话使用它;它以适当的Angular方式提供对浏览器本地存储的访问。本地存储是持久性(密钥,值)元组存储机制。