2017-04-10 83 views
0

我有一個包含2組不同數據集的頁面(我在這裏的意思是我在頁面上有一個複選框,當複選框被選中時它將顯示User1的細節,否則它將顯示User2細節)。我使用AngularJS綁定了複選框值。在打開一個新窗口時初始化角度變量

我的要求是,我應該有一個按鈕,它將在新窗口中打開相同的頁面,但不同的設置(在這種情況下選中複選框)。我將如何實現這一目標?

以下是我的想法,我們可以使用以下命令打開新窗口並添加一個隱藏的var,它啓用或禁用複選框。

var myWindow = window.open(「Page_URL」);

我很肯定上述不是最佳解決方案,任何人都可以爲我提供一個很好的解決方案嗎?

+0

angular是用於SPA =單頁面應用程序,所以你基本上拋出窗口,其次你可以使用localstorage/sessionstorage來保存頁面之間的數據 – madalinivascu

回答

0

您可以在url本身傳遞值。請看以下各種方式,

  1. 使用查詢帕拉姆

「PAGE_URL /值=?」 + checkBoxValue
例:本地主機:8080 /項目/房屋價值=檢查

  • 使用$ stateprovider或$ routeProvider
  • $ routeProvider.when( '/家/:值',{
    模板: 'home.html做爲',
    控制器: '的HomeController'
    });

    然後從控制器,可以通過值URL

    $ location.path( '家/' + checkboxValue)

    注:基本上,我們需要避免的localStorage的使用/ sessionStorage 根據最佳實踐。

    +0

    謝謝。基本上我使用asp.net mvc進行路由,我會按照你的想法在asp.net中執行相同的操作。 –

    +0

    如果有用,請接受答案。 – Srigar