ng-bind-html对于复合变量表达式失败

时间:2019-04-13 17:21:37

标签: angularjs typescript

我正在用Typescript写一个有角度的前端。 我需要绑定html才能正确渲染。为此,我使用ng-bind-html。

它可以与简单的变量(如

)配合使用
 <span ng-bind-html='property'></span>

正确的文本在应用程序中呈现。

但是现在我有一个非常复杂的变量

{{notification.getTranslationKey() | translationNamespace:parentctl.getTranslationNamespace() | translate}}

我尝试了通过此表达式使用ng-bind-html的不同方法,但是它不起作用。我只有空白而不是文字。

如何将ng-bind-html与此类复杂表达式结合使用?是否有替代方法?也许可以在控制器中绑定html而不是html?

1 个答案:

答案 0 :(得分:0)

一个人可以使用$filter service来访问控制器中的过滤器:

$scope.myFunc = function() {
     var p1 = $scope.notification.getTranslationKey();
     var arg1 = $scope.parentctl.getTranslationNamespace();
     var p2 = $filter("translationNamespace", p1, arg1);
     var p3 = $filter("translate", p2);
     console.log(p3)
     return p3;
});

用法

<span ng-bind-html='myFunc()'></span>

然后可以使用标准的调试技术来诊断问题。