uibmodal tpls open modal example bootstrap iframe angularjs

iframe - tpls - uibmodal controller



Angular, funciĆ³n onLoad en un iFrame (3)

Tengo este iframe trabajando con JavaScript básico:

<iframe id="upload_iframe" name="upload_iframe" onLoad="uploadDone();"></iframe>

Lo cual activa el método uploadDone(); cuando el contenido del iframe ha sido cargado.

¿Cómo hago lo mismo en Angular ?. Quiero llamar a una función en el controlador cuando se carga el iframe, pero hasta ahora no he visto ninguna carga ng-onload .


Comentando una pregunta de un año. Para casos donde hay más de 1 iframes, necesito vincular eventos "onload" a. Hice este acercamiento.

Directiva

APP.directive(''iframeOnload'', [function(){ return { scope: { callBack: ''&iframeOnload'' }, link: function(scope, element, attrs){ element.on(''load'', function(){ return scope.callBack(); }) } }}])

Controlador

APP.controller(''MyController'', [''$scope'', function($scope){ $scope.iframeLoadedCallBack = function(){ // do stuff } }]);

DOM

<div ng-controller="MyController"> <iframe iframe-onload="iframeLoadedCallBack()" src="..."></iframe> </div>


Para cualquiera que termine aquí, el plugin ng-onload es la solución perfecta para este problema. No contamina el espacio de nombres global y no requiere que cree directivas únicas cuando lo único que desea es llamar a una función de alcance simple.


intente definir la función dentro del controlador como:

window.uploadDone=function(){ /* have access to $scope here*/ }