我有两个不同的元素,一个是内容可编辑的DIV作为指令,你可以在其中输入一些HTML,例如img标签,它会在按键上自动呈现。
其次我有一个textarea绑定到ng-model,我也希望用户能够键入HTML主要是img标签,所以它会自动呈现,但是,我无法弄清楚这是否可行,如果用户输入标签,然后按原样保存。
在textarea上实现我想要的最佳解决方案是什么?我是否必须做直接指导,或者是否有更简单的解决方案,我可以利用它所绑定的ng-model变量。
最后一个问题,我是否需要担心安全问题,以便我安全地处理输入?即我不希望人们在那里放置脚本标签,只是img标签,链接和一些HTML格式。我在渲染之前使用$ santize服务执行$ sanitize(htmlContent)指令。
答案 0 :(得分:1)
您可以使用Strict Contextual Escaping
做类似的事情:
<textarea ng-model="content"></textarea>
<div ng-bind-html="getSafe()"></div>
在您的控制器中:
$scope.getSafe = function(){
return $sce.trustAsHtml($scope.content);
}