我有一个场景。我为用户提供了一个评论框,他们可以使用以下新行添加评论:
This is my comment.
Part of comment in new line
我在数据库中保存为:
model.Description = model.Comment.Replace("\n", "<br />");
//Insert into DB
现在,在AngularJs View上显示它时,它显示的内容如下:
This is my comment. <br /> Part of comment in new line
**我的HTML:**
<style>
.angular-with-newlines {
white-space: pre;
}
</style>
<div class="ads-details-info col-md-8 angular-with-newlines">
{{comment}}
</div>
输出:
123123123123 \n 123123123123 <br /> 123123123123 \\n
我想将<br />
渲染为新行。我知道有一些解决方案可供选择:trustAsHtml
和ng-bind-html
。但后来它变得容易受XSS
攻击。我不想要的。我想只允许一些选定的标签。有没有解决方案?
我见过Preserve line breaks in angularjs。但解决方案对我不起作用。我不希望评论被渲染为代码和white-space:pre;不适合我。
答案 0 :(得分:-1)
像这样使用ng-bind-html,然后<br/>
将呈现为html表达式
<div ng-bind-html="expression" ></div>