angular从iframe里面调用父页面的controller的方法

从iframe中调用父页面的controller中方法

1、从当前页面中获取对应的controller,可以通过一下方法去获取。

angular.element(xxx).scope()

2、获取父页面的controller

window.parent.angular.element(xxx).scope(); // 未能获取 window.parent.$(‘div[ng-controller=“topController”]’).scope(); // 未能获取

然后网上所说以上的几种方式都未能获取到数据,然后又想从iframe页面中去触发父页面中的方法来实现刷新,后面想着能不能通dom事件的方式, 后面通过触发dom事件的方式实现:

<div class="getCollectionPro" ng-click="refreshFavorites()"></div>

然后在自页面中,触发这个方法 window.parent.$(’.getCollectionPro’).trigger(‘click’);

然后通过这种方式,实现从iframe里面调用父页面的方式来调用事件,来实现所需的功能。

通过dom节点再去获取scope()方法,虽然angular在jquery对应的原型链上加上了对应的方法,但获取父页面中的don的scope为null。目前先找到了这种方式实现的,可能有其他方式也可以实现吧。

经验分享 程序员 微信小程序 职场和发展