【问题标题】:Interpolation in angular-translate for html injection用于html注入的角度翻译插值
【发布时间】:2015-10-20 23:44:32
【问题描述】:

我正在尝试研究如何使用 angular-translate(我将其用作过滤器)翻译大块 html。

我有语言 json 文件:

{
  "PURPOSE": "Sie Damit Beabsichtigt",
  "INTRO_VID": "Sehen Sie sich das Intro-Video",
  "TOUR": "An der Tour teilnehmen",
  "PURPOSE_COPY": "<p>Die Idee hinter [snip]</p><p>Currency: {{vm.testAmount}}</p><p>Date: {{vm.testDate}}</p>"
}

然后在 html 中,我获取一个语言字符串并将其与视图模型 (translate:vm) 中的数据一起传递给翻译过滤器,最后传递给 htmlSafe 过滤器,它允许将其解析为 html:

<div data-ng-bind-html="'PURPOSE_COPY' | translate:vm | htmlSafe"></div>

htmlSafe 过滤器如下所示:

angular.module('kitchenapp').filter("htmlSafe", ['$sce', function($sce) {
    return function(htmlCode){
        return $sce.trustAsHtml(htmlCode);
    };
}]);

html 被很好地注入到页面中,但没有编译,即使我通过视图模型进行翻译。 :(

【问题讨论】:

    标签: angularjs angular-translate


    【解决方案1】:

    因此,您传递给translate:&lt;expression&gt; 的任何内容都将作为范围。如果你想传递你的实际作用域,那么传递translate:this。上面我通过了vm,然后寻找vm.x:这相当于vm.vm.x,显然不存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多