我正在编写一个应用程序,它是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; }