在AngularJS中刷新iframe内容

我正在编写一个应用程序,它是Angular和jQuery的一部分。我通过在iFrame中加载jQuery内容来分离它们。

在某个事件(例如,单击ng)时,我需要刷新iFrame。我的控制器包含以下代码:

$scope.refreshIframe = function() { //refresh the iFrame with id "anIframe" };

而iFrame是:

<iframe id="anIframe" src="myUrl"></iframe>

回答:

正如Paulo

Scardine所说,正确的方法是通过指令,因为您不应该使用控制器来操纵DOM。

这样的事情可以做:

.directive('refreshable', [function () {

return {

restrict: 'A',

scope: {

refresh: "=refreshable"

},

link: function (scope, element, attr) {

var refreshMe = function () {

element.attr('src', element.attr('src'));

};

scope.$watch('refresh', function (newVal, oldVal) {

if (scope.refresh) {

scope.refresh = false;

refreshMe();

}

});

}

};

}])

然后可以这样使用:

<iframe refreshable="tab.refresh"></iframe>

和:

$scope.refreshIframe = function(){

$scope.tab.refresh = true;

}

以上是 在AngularJS中刷新iframe内容 的全部内容, 来源链接: utcz.com/qa/400774.html

回到顶部