मैं एक बच्चे पॉपअप से पैरेंट विंडो पर स्कोप वैल्यू अपडेट करने का प्रयास कर रहा हूं। लेकिन जब भी मैं मूल विंडो स्कोप तक पहुंचने का प्रयास करता हूं, तो यह अनिर्धारित हो जाता है। चूंकि इसमें दो खिड़की शामिल हैं, इसलिए मैं इसके लिए एक पहेली नहीं बना सका। कोड नमूना नीचे चिपकाया गया है।बाल खिड़की से पैरेंट विंडो कोणीय दायरे तक पहुंच
मुख्य पृष्ठ (main.html)
<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script>
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.name = 'Superhero';
}
</script>
</head>
<body ng-app="myApp">
<div id="ctrl" ng-controller="MyCtrl">
Hello, {{name}}!
<input type="button" value="Open popup!!" onclick="window.open('child.html');"/>
</div>
</body>
</html>
बाल खिड़की (child.html)
<!doctype html>
<html >
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script>
function change(){
var e = window.opener.document.getElementById('ctrl');
var ae = angular.element(e);
var s = ae.scope();
s.name="New Superhero";
s.$apply();
}
</script>
</head>
<body>
<input type="button" value="Update parent scope!" onclick="change();"/>
</body>
</html>
यहाँ जब भी मैं दिखाया गया है, कोणीय तत्व से दायरे तक पहुँचने का प्रयास उपरोक्त परिवर्तन विधि में, यह अनिर्धारित [ae.scope()] लौटाता है। लेकिन जब एक ही कोड मूल विंडो में किसी फ़ंक्शन में स्थानांतरित हो जाता है [केवल 'ctrl' तत्व को कैसे पहुंचा जा रहा है में अंतर), यह ठीक काम करता है और मैं सक्षम था स्कोप चर अद्यतन करें। क्या कोई इस बात को इंगित कर सकता है कि वास्तव में क्या गलत हो रहा है? धन्यवाद
मुझे यकीन है कि के रूप में चाइल्ड विंडो स्क्रिप्ट \ माता पिता पर लोड कार्यों के लिए उपयोग नहीं हो सकता है अगर यह के रूप में दो खिड़कियां शामिल कर रहे हैं काम करेंगे, नहीं हूँ। आप एंगुलरस्ट्रैप जैसे विकल्पों को क्यों नहीं देखते हैं, जिनके पास मॉडल पॉपअप है http://mgcrea.github.io/angular-strap/ – Chandermani
@ कंधर्मनी सुझाव के लिए धन्यवाद। आवश्यकता पॉपअप का उपयोग करने पर जोर देती है। तो मोडल विंडो विकल्प के साथ नहीं जा सकते। इसके अलावा, बाल विंडो पैरेंट विंडो पर डोम और स्क्रिप्ट तक पहुंच पाएगी। तो मुझे विश्वास है कि कुछ और गलत हो रहा है – Bibin