首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何转义内插标记{{和}以避免angularjs执行

如何转义内插标记{{和}以避免angularjs执行
EN

Stack Overflow用户
提问于 2022-09-20 10:15:54
回答 1查看 55关注 0票数 0

我试图在输入字符串中转义插补标记{{}},以避免它们被angularjs 1.8.3作为插值执行。这些标记应该使用反斜杠U+005C (反斜杠)在每个字符前面转义。

这就是我试过的:

代码语言:javascript
运行
复制
var inputString = "{{ code snippet here }}" ; 
inputString = inputString.replace("{{", "\\{\\{").replace("}}","\\}\\}");

WHen我将此字符串设置为Html,它在输出Html中呈现为:

代码语言:javascript
运行
复制
\{\{ code snippet here \}\}

我被期望展示和inputString完全一样的东西(没有\)。

如何在不影响输出Html的情况下避免这些标记?

我不能使用ngNonBindable,这是在回答中提到的,因为此时我不能修改所有的回答。也是由于其他具体项目的原因。

代码片段:

代码语言:javascript
运行
复制
var nodeValue = "{{ 'sample snippet' }}";
nodeValue = nodeValue.replace('{{', '\\{\\{').replace('}}','\\}\\}');

document.getElementById('testtextarea').innerText = nodeValue;
代码语言:javascript
运行
复制
<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>

EN

Stack Overflow用户

发布于 2022-09-20 10:49:46

尝试用它们的相对HTML实体替换字符

代码语言:javascript
运行
复制
inputString = inputString.replace("{{", "&lcub;&lcub;").replace("}}","&rcub;&rcub;");
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73785106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档