JavaScript – Angular Translate HTML标签

我知道这里曾经被问过,但是没有一个答案似乎适用于我的情况

我买了这个主题Angle,它与Angular 1.4.2和Angular翻译2.6.0(甚至更新到最后的2.7.2)

认情况下,模板上有“翻译”模块

这是配置文件

$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格式翻译文件

{
   "page": {
    "PAGES_WELCOME" : "Welcome to <br> MY APPLICATION,hey THERE IS A BR TAG BEFORE ME"
  },"login": {
    .
    .
    .
    .
  },

但是,我无法在文本中的JSON文件添加HTML标签,而不是获取

欢迎来到
我的APP

我越来越

欢迎来到< br>我的APP

我如何解决这个问题?

编辑

我不想删除标签,我的JSON文件被后端修改,它可以并将包含HTML标签,我希望这些标签输出上工作.

JADE示例内容是绑定的

div(class="col-lg-4 col-md-4 col-sm-4 col-xs-12 footer-left")
  p(class="text-center") 
    {{ 'page.PAGES_WELCOME' | translate }}

解决方法

在插值期间角度消除任何html字符串.
为了解决这个问题,您需要在注入之前在$sce中将HTML标记为安全.然后用ngBindHtml输出html.

我以前没有使用过角度翻译,但这可能会起作用:

//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>

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...