首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角度转换HTML标签

角度转换HTML标签
EN

Stack Overflow用户
提问于 2015-08-18 19:10:16
回答 6查看 34.5K关注 0票数 18

我知道以前有人问过这个问题,但似乎没有一个答案适用于我的情况。

我买了这个主题夹角,它使用的是角1.4.2和角平移2.6.0 (甚至更新到最后的2.7.2)

默认情况下,模板上有翻译模块。

这是配置文件

代码语言:javascript
运行
复制
  $translateProvider.useStaticFilesLoader({
      prefix : 'app/i18n/',
      suffix : '.json'
  });
  $translateProvider.preferredLanguage('es');
  $translateProvider.useLocalStorage();
  $translateProvider.usePostCompiling(true);
   // Enable escaping of HTML
  $translateProvider.useSanitizeValueStrategy('sanitize'); // I added this line based on Docs wasn't before

和JSON格式的翻译文件

代码语言:javascript
运行
复制
  {
   "page": {
    "PAGES_WELCOME" : "Welcome to <br> MY APPLICATION, HEY THERE IS A BR TAG BEFORE ME"
  },

  "login": {
    .
    .
    .
    .
  },

但是我不能在JSON文件中的文本中添加HTML标记,而不能将

欢迎来到我的应用程序

我得到了

欢迎来到我的应用程序

我怎么才能解决这个问题?

编辑

我不想删除标签,我的JSON文件是由后端修改的,它可以并且将包含HTML标记,我希望这些标记能够在输出上工作。

JADE示例,其中内容绑定

代码语言:javascript
运行
复制
div(class="col-lg-4 col-md-4 col-sm-4 col-xs-12 footer-left")
  p(class="text-center") 
    {{ 'page.PAGES_WELCOME' | translate }} 
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-08-18 20:27:25

角清除任何html字符串在其插值过程中。为了解决这个问题,您需要在注入之前将$sce标记为安全。然后还使用ngBindHtml输出html。

我以前没有使用过角度转换,但这可能会奏效:

代码语言:javascript
运行
复制
//app is the main module
app.filter("htmlSafe", ['$sce', function($sce) {
    return function(htmlCode){
        return $sce.trustAsHtml(htmlCode);
    };
}]);

//then to output it
<span data-ng-bind-html="'page.PAGES_WELCOME' | translate | htmlSafe"></span>
票数 21
EN

Stack Overflow用户

发布于 2019-09-02 12:39:20

您可以保持JSON文件的原样,然后只需在HTML中使用innerHTML属性将文本呈现如下:

代码语言:javascript
运行
复制
 <div [innerHTML]="'page.PAGES_WELCOME' | translate"></div>
票数 16
EN

Stack Overflow用户

发布于 2016-01-28 09:22:01

使用AngularJS 1.4.7进行了测试,我只使用以下内容:

代码语言:javascript
运行
复制
<span data-ng-bind-html="'my.i18n.code.to.translate.html.tags' | translate"></span>

因为我不想注入任何过滤器,但是上面的内容只是针对我自己的可信i18n字符串。当然,公认的答案可能会更安全,但这一项只是马上就开始工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32080768

复制
相关文章

相似问题

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