Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-使用$window打开新窗口并显示共享数据_Javascript_Angularjs - Fatal编程技术网

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

Javascript AngularJS-使用$window打开新窗口并显示共享数据,javascript,angularjs,Javascript,Angularjs,我在我的一个页面上有一个ng单击,当用户单击时,我想为该选择设置特定的站点,并在新的html页面中使用它。我使用$rootscope、$rootscope.$broadcast、向服务添加属性等尝试了许多不同的方法,但我无法让它显示在新页面中。我可以看到在ng click函数调用之前在控制器中设置的值,但在新页面上无法访问我在ng click期间尝试设置的值…在基本页面上,我可以看到选择 这些页共享同一个控制器 我肯定我做错了什么事,我一辈子都搞不清楚那是什么 暴露于基地的功能: //Get s

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

这些页共享同一个控制器

我肯定我做错了什么事,我一辈子都搞不清楚那是什么

暴露于基地的功能:

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

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


}
示例HTMLNG单击控制台日志显示我正在获取站点信息

                      <tbody>
                            <tr data-ng-repeat="site in criticalSites">
                                <td data-ng-click="getSiteInfo(site)">{{site.SystemName}}</td>
                                <td>{{site.SystemName}}</td>
                            </tr>
                        </tbody>
Angular是一个单页应用程序框架。仅仅为了显示信息而打开一个不同的窗口或页面是不应该的。不能在两个页面之间传递对象或共享作用域


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

您好,非常感谢您的回复。我想你说的基于CSS的对话框是指引导中的模式?