ng-bind-html无法与TranslateJS配合使用

时间:2019-04-04 17:32:05

标签: javascript angularjs

我正在使用angularJS和在https://angular-translate.github.io/上找到的名为angular-translate的存储库在Web应用程序上实现翻译。 根据文档,我可以使用此存储库将文本设置为html上的给定元素。 我想显示一个带有消息的弹出窗口,以防用户未填写某些文本字段。例如:如果我没有填写“名称”和“地址”,它将显示一个弹出窗口:“请填写以下字段:名称,地址”。 但是,使用ng-bind-html不会显示我想要的结果。

以下尝试无法按预期进行:

//Var1:'Name is not valid'
//Var2:'Invalid address'
dialog.msg = '<div translate>Var1</div><div translate>Var2</div>';
$scope.thisCanBeusedInsideNgBindHtml = $sce.trustAsHtml(dialog.msg);
$rootScope.showNotificationDialog('error', 'Atenção', dialog.msg);

//showNotificationDialog
<div class="text" ng-bind-html="dialog.msg"></div>
//Result: Var1
          Var2
<div class="text">{{dialog.msg}}</div>

//Result: <div translate>Var1</div><div translate>Var2</div>

我希望结果是:

名称无效 地址无效

我该如何实现?

1 个答案:

答案 0 :(得分:0)

对于那些遇到类似问题的人,请分割字符串并使用ng-repeat来简单地传递变量

<div ng-repeat="msg in dialog.msg">
        <div translate>{{msg}}</div>
    </div>