Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在角度可编辑的编辑表中显示iFrame_Javascript_Html_Angularjs_Iframe_X Editable - Fatal编程技术网

Javascript 在角度可编辑的编辑表中显示iFrame

Javascript 在角度可编辑的编辑表中显示iFrame,javascript,html,angularjs,iframe,x-editable,Javascript,Html,Angularjs,Iframe,X Editable,我使用的是angular xeditable,下面是我的可编辑元素: <div class="like-pre" editable-textarea="question.answer" e-rows="10" e-cols="40" onbeforesave="validateFaq($data, 'answer')" ng-bind-html="question.answer"></div> 在controller中,我使用$sce.trustAsHtml使quest

我使用的是angular xeditable,下面是我的可编辑元素:

<div class="like-pre" editable-textarea="question.answer" e-rows="10" e-cols="40" onbeforesave="validateFaq($data, 'answer')" ng-bind-html="question.answer"></div>
在controller中,我使用$sce.trustAsHtml使question.answer显示为常规HTML而不是原始文本。HTML可以包含youtube视频或img元素的iframe。它起作用了

问题是,在我通过可编辑元素更改了问题中的任何内容后,IFRAME元素会完全消失。IMG元素在编辑后仍然正确显示


有人知道出了什么问题吗?

找到了解决办法。问题是xeditable只更新模型数据。模型更新后,它通过角度绑定更新可编辑的div元素。Iframe未显示,因为新模型内容未作为受信任内容签名

我曾尝试在onaftersave中通过$sce.trustAsHtml传递question.answer变量,但它没有做任何事情。这是因为trustAsHtml没有改变任何东西,我想它只是将其标记为trusted,但不知道它在内部是如何工作的

解决方案是这样添加空空间:

$sce.trustAsHtml(newQuestion.answer + ' ');
所以angular发现模型已经更改,并使用new-trusted作为html-content重新加载editabel div