从iframe关闭Angular md-dialog

时间:2017-10-19 07:04:24

标签: javascript angularjs iframe mddialog

我希望看看是否可以从iframe关闭md-dialog(Angular Material),iframe包含其他Angular App。 iframe被加载到我想要关闭的md对话框中。

查看示例:

<md-dialog class="modal-dialog contract-detail">
    <md-dialog-content flex="auto">
        <div class="modal-header">
            <button type="button" class="close" aria-label="Close" ng-click="closeDialog()">
                <span aria-hidden="true">&times;</span>
            </button>
        </div>
        <div class="modal-body">
      <iframe ng-src="{{urlIframe}}"
              frameborder="0"
              allowfullscreen
              style="position: absolute;top: 0;left: 0;width: 100%;height: 90%;"
              align="center">
      </iframe>
    </div>
  </md-dialog-content>
</md-dialog>

var {{urlIframe}}包含Angular应用网址。

1 个答案:

答案 0 :(得分:1)

您可以访问父角度应用程序的范围,例如

var $scope = parent.angular.element('.modal-dialog.contract-detail').scope();

然后只需调用closeDialog上的$scope函数即可关闭对话框。