我试图在输入字符串中转义插补标记{{和}},以避免它们被angularjs 1.8.3作为插值执行。这些标记应该使用反斜杠U+005C (反斜杠)在每个字符前面转义。
这就是我试过的:
var inputString = "{{ code snippet here }}" ;
inputString = inputString.replace("{{", "\\{\\{").replace("}}","\\}\\}");WHen我将此字符串设置为Html,它在输出Html中呈现为:
\{\{ code snippet here \}\}我被期望展示和inputString完全一样的东西(没有\)。
如何在不影响输出Html的情况下避免这些标记?
我不能使用ngNonBindable,这是在回答中提到的,因为此时我不能修改所有的回答。也是由于其他具体项目的原因。
代码片段:
var nodeValue = "{{ 'sample snippet' }}";
nodeValue = nodeValue.replace('{{', '\\{\\{').replace('}}','\\}\\}');
document.getElementById('testtextarea').innerText = nodeValue;<div ng-app>
<textarea id="testtextarea" cols="50"></textarea>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.8.3/angular.min.js"></script></div>
发布于 2022-09-20 10:49:46
尝试用它们的相对HTML实体替换字符
inputString = inputString.replace("{{", "{{").replace("}}","}}");https://stackoverflow.com/questions/73785106
复制相似问题