2015-07-13 94 views
1

此问题类似于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行,所以这不是一个真正的选择。我也没有在URL中传递任何东西,因为用户可以选择他想要的任何东西。

有什么办法可以实现这个功能吗?

回答

1

你需要使用ngStorage来存储数据:

http://ngmodules.org/modules/ngStorage

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

+0

非常感谢!它似乎工作! :d – Bv202