我需要渲染诸如<之类的字符。和>,它们可以包括在用户的名字或姓氏中。我使用角度转换来呈现名称,将名字和姓氏作为值传递。但是,如果名字或姓氏包含<该值不会显示。我想我需要使用类似ng-bind="translation_key | translate | values"
的东西,但这是不正确的。如何在角度平移插值中使用ng-bind?这是正确的方法来渲染包含字符的翻译值,例如<,>?感谢。
*修改
这几乎可以,但清洁剂输出错误。
ng-bind="'locales.user_filter' | translate: { first: user.firstName, last: user.lastName }"
错误:[$ sanitize:badparse]清理程序无法解析以下html块:
答案 0 :(得分:0)
在将值传递给翻译键之前,我使用了过滤器。
.filter('htmlEntities', function () {
return function (input) {
return String(input).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
};
});
var first = $filter('htmlEntities')(scope.user.firstName);
var last = $filter('htmlEntities')(scope.user.lastName);
scope.displayName = $translate.instant('locales.user_filter', { first: first, last: last });
<td ng-bind-html="displayName"></td>