Доступ к родительскому окну, угловой вид из дочернего окна

Я пытаюсь обновить значение области родительского окна из дочернего всплывающего окна. Но всякий раз, когда я пытаюсь получить доступ к области родительского окна, он возвращает неопределенный. Поскольку это включает в себя два окна, я не мог создать скрипку для этого. Пример кода вставлен ниже.

Главная страница (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>

Здесь всякий раз, когда я пытаюсь получить доступ к области видимости из углового элемента, как показано выше в методе изменения, он возвращает undefined [ae.scope ()]. Но когда тот же код перемещается в функцию в родительском окне [разница только в том, как 'ctrl' доступ к элементу], он работал нормально, и я смог обновить переменную области видимости. Кто-нибудь может указать, что на самом деле здесь происходит не так? Спасибо