angularjs – 如何将$scope传递给角度js中的$window.open
发布时间:2020-12-17 17:25:18 所属栏目:安全 来源:网络整理
导读:我需要将$scope从我的父窗口传递到新窗口.我在我的 javascript函数中为新窗口编写了$window.open().但是在新窗口中,我没有获得$scope.下面我给出了代码. 1)JS文件 $scope.mainPageNewsArchive = data.newsArchiveList;var myWindow1 = $window.open("resourc
我需要将$scope从我的父窗口传递到新窗口.我在我的
javascript函数中为新窗口编写了$window.open().但是在新窗口中,我没有获得$scope.下面我给出了代码.
1)JS文件 $scope.mainPageNewsArchive = data.newsArchiveList; var myWindow1 = $window.open("resources/partials/NewFile.html","News Archive",'toolbar=0,scrollbars=1,location=0,status=0,menubar=0,resizable=1,width=650,height=550,left = 300,top=100'); 2)NewFile.html <div> <table border="0" cellspacing=0 cellpadding=2 width="100%" id="tkm"> <tbody> <tr x-ng-repeat="newsArchive in mainPageNewsArchive track by $index"> <td align=left >{{newsArchive.createDate}}</td> <td> </td> <td align=left><a href="" ng-click="showNewsItem(newsArchive.id)" title="Click for more detail">{{newsArchive.title}}</a> </td> </tr> </tbody> </table> </div> 解决方法
由主窗口打开的窗口在架构上将无法与其父窗口共享相同的范围.因为角度范围是根据DOM元素定义的.但是您可以使用window.open()方法返回的窗口对象来传递数据
angular.module('originalModule').service('popupService',function(someOtherDataService) { var popupWindow = window.open('popupWindow.html'); popupWindow.mySharedData = someOtherDataService.importantData; }); 一旦初始化了辅助“弹出”角度应用程序,它就可以通过读取window.mySharedData来引用共享数据. 要么 您可以引用新生成的窗口的rootscope,然后通过父窗口的子窗口范围传递事件. 家长: var newWindowRef = $window.open("","New Window","width=1280,height=890,resizable=1"); var newWindowRootScope = newWindowRef.angular.element("#MY_ROOT_APP_ELEMENT_ID").scope(); newWindowRootScope.$broadcast("INTER_WINDOW_DATA_TRANSFER",{someData : "I'm data"}); 儿童: $rootScope.$on("INTER_WINDOW_DATA_TRANSFER",function (data,args) { console.log("DATA RECEIVED: " + args.someData); }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读