我有这个iframe使用基本的JavaScript:
<iframe id="upload_iframe" name="upload_iframe" onLoad="uploadDone();"></iframe>
Run Code Online (Sandbox Code Playgroud)
uploadDone();
在加载iframe的内容时触发该方法.
我如何在Angular中做同样的事情?我想在iframe加载时调用控制器上的函数,但ng-onload
到目前为止我还没有看到过.
Mig*_*alo 113
评论一年的问题.对于有超过1个iframe的情况,我需要将"onload"事件绑定到.我做了这个方法.
指示
APP.directive('iframeOnload', [function(){
return {
scope: {
callBack: '&iframeOnload'
},
link: function(scope, element, attrs){
element.on('load', function(){
return scope.callBack();
})
}
}}])
Run Code Online (Sandbox Code Playgroud)
调节器
APP.controller('MyController', ['$scope', function($scope){
$scope.iframeLoadedCallBack = function(){
// do stuff
}
}]);
Run Code Online (Sandbox Code Playgroud)
DOM
<div ng-controller="MyController">
<iframe iframe-onload="iframeLoadedCallBack()" src="..."></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)
cha*_*tfl 28
尝试在控制器中定义函数:
window.uploadDone=function(){
/* have access to $scope here*/
}
Run Code Online (Sandbox Code Playgroud)
Hai*_*jin 22
对于任何使用 Angular 2+ 的人来说,这很简单:
<iframe (load)="uploadDone()"></iframe>
Run Code Online (Sandbox Code Playgroud)
没有全局功能,适用于多个 iframe。
归档时间: |
|
查看次数: |
58970 次 |
最近记录: |