angular trustAsHtml不重新插入内容

时间:2014-07-04 14:42:54

标签: javascript html angularjs iframe

我在页面上有2个div。当用户点击button1时,iframe已加载到div1button2div2也是如此。 iframes通过ajax加载,并通过$sce.trustAsHtml获得信任。 html本身看起来像这样:

<div ng-bind-html="video.trustediframe"></div>

这将是结果:

<div ng-bind-html="video.trustediframe"><iframe id="iframe1"></iframe></div>

一切正常,我可以看到视频,但是当用户点击button2时,我想要关闭第一个视频的Feed并移除iframe,以便我angular.element('#iframe1').remove()。现在,一旦用户再次点击button1iframe将不再加载,请再次执行DOM,尽管div仍然存在ng-bind-html="video.trustediframe"

我尝试重新分配video.trustediframe变量(函数为$sce.trustAsHtml返回一个函数),然后执行$scope.$apply,但这无助于重新插入iframe }。我可以使用其他方法来解决这种问题吗?

1 个答案:

答案 0 :(得分:0)

通过跟踪当前活跃的玩家,我能够获得所需的行为。 因此,使用<div ng-if="video.isPlaying" ng-bind-html="video.trustediframe"> </div>我每页只有一个活动播放器,每当用户在不同标签之间切换时,前一个播放器都会从dom中删除。