使用换行符动态生成span标记

时间:2017-07-10 09:45:00

标签: javascript html angularjs

当我为Angular创建json结构以正确呈现数据时,我只需用

替换特定标记
</br>

 &nbsp; 

文本以便以适当的格式显示整个文本。

  if(e.transcription.indexOf("%HESITATION")>-1)
     e.transcription =  e.transcription.replace("%HESITATION", &nbsp;&nbsp;');

OR

if(e.transcription.indexOf("%HESITATION")>-1)
     e.transcription =  e.transcription.replace("%HESITATION", </br></br>;');

但是,生成的字符串将这些元素显示为字符串,它不会按预期呈现它,也不会相应地显示带有换行符的文本。

在html中正确替换此处以正确换行的方法是什么?

我只是按照以下格式在Angular中打印这些文本;

<span class="script-text">{{thread.transcript}}</span>

但生成的输出是

Hello </br></br> Word
Hello &nbsp;&nbsp; Word

2 个答案:

答案 0 :(得分:1)

您可以使用ng-bind-html指令执行此操作。请尝试以下方法:

<span class="script-text" ng-bind-html="thread.transcript"></span>

这需要ngSanitize包含在您的模块中。阅读this guide中的更多内容。

答案 1 :(得分:1)

var app = angular.module("myApp", ['ngSanitize']);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-sanitize.js"></script>
<div ng-app="myApp">
<input type="text" ng-model="value">
<div ng-bind-html="value"></div>
</div>