2015-07-13 96 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