在AngularJS中刷新iframe内容

前端之家收集整理的这篇文章主要介绍了在AngularJS中刷新iframe内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个应用程序,它是Anugular和part jQuery的一部分.我通过在iFrame中加载jQuery内容来分离它们.

在某个事件(例如,点击一下)后,我需要刷新iFrame.我的控制器包含以下代码

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

而iFrame是:

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

有人可以帮助我.如果需要,我可以发布更多代码.

正如Paulo Scardine所说,正确的做法是通过指令 you shouldn’t use controllers to manipulate 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相关文章