【发布时间】:2015-05-24 06:13:03
【问题描述】:
我在 SO 上看到了对此的其他回应,但要么我不明白这些回应在我的情况下是如何起作用的,要么是我想太多了;范围一直是我的一个弱点。
我目前正在为包含 iframe 的模态窗口使用颜色框。为了在 Angular 中使用它,我创建了一个属性指令,该指令采用锚标记的 URL 并使用它来触发颜色框。通常,当用户在模式中执行我需要的任何操作时,我已经让 JS 在父窗口中触发某些东西,以避免重新加载。这在 Angular 中似乎更为重要,我试图弄清楚我如何才能说颜色框模式与 Angular 进行通信。到目前为止,我能想到的最好的方法是让模态的 JS 改变一个输入(或多个输入)的值来定义我想要它做什么。
有没有更简单/更直接的方法?
编辑:感谢下面的解决方案,我找到了答案:
var appElement = parent.document.querySelector('[ng-app=gamersplane]');
var $scope = parent.angular.element(appElement).scope();
$scope.$apply(function() {
// Do your angular stuff in here!
});
键是元素选择器上的父元素,并且在 angular.element 之前。
【问题讨论】: