我是angularjs的新手。我有一个角度iframe控制器,如下所述。请注意,这不是实际的实施。
HTML:
<div ng-show="showIFrame">
<iframe id ="myiframe" ng-src="{{websiteUrl}}"/>
</div>
控制器指令:
directive('iframesample',function(){
return {
link:function(scope,ele,attrs){
var iFrame = element.find("iframe")[0];
iFrame.onload = function () {
scope.businesslogic(); //based on current iframe ng-src.
}
});
问题:
我正在使用iframe控制器显示多个iframe,其中包含保存在我的数据库中的网址。我在iframe的load事件上调用我的businesslogic(),它被调用但不是我期望的方式。在为iframe设置ng-src后,不会立即调用businesslogic()(onload事件)。如果我显示iframe的2个实例,则预先为两个iframe设置ng-src,然后为每个iframe调用businesslogic()。因此,我的businesslogic不适用于第二个iframe。我应该怎么做才能纠正这个问题,以便在为iframe实例设置ng-src后立即调用我的业务逻辑。