AngularJS - 使用$ window打开新窗口并显示共享数据

时间:2014-01-17 23:46:27

标签: javascript angularjs

我在其中一个页面上点击了一下,当用户点击时,我想为该选择设置特定网站并在新的html页面中使用它。我尝试了很多不同的东西(使用$ rootscope,$ rootscope。$ broadcast,添加属性到服务等),我无法让它显示在新页面中。在ng-click函数调用之前在控制器中设置的值我可以看到,但是我在新页面上无法访问我在ng-click期间尝试设置的值....在基页上我可以看看选择。

这些页面共享同一个控制器。

我确信我做错了什么,我只是因为我的生活不知道它是什么。

暴露于基站的功能:

//Get specific Site
$scope.getSiteInfo = function (site) {
    $scope.siteInfo = site;

    $window.open('Base/SiteInfo', 'SiteInformation');


}

示例html ng-click(控制台日志显示我收到了网站信息)

                      <tbody>
                            <tr data-ng-repeat="site in criticalSites">
                                <td data-ng-click="getSiteInfo(site)">{{site.SystemName}}</td>
                                <td>{{site.SystemName}}</td>
                            </tr>
                        </tbody>

1 个答案:

答案 0 :(得分:0)

Angular是一个单页应用程序框架。打开一个不同的窗口(或一个不同的页面)只是为了显示信息是角度不是要做的事情。您无法在两个页面之间传递对象或共享范围。

您应该使用基于CSS的对话框,而不是使用window.open。它更简单,看起来更好,并且使用Angular更好。我建议使用Bootstrap