带AngularJS平移插值的ng绑定
我需要渲染字符,例如<和>,它们可能包含在用户的名字或姓氏中。我使用angular translate来渲染名称,将名字和姓氏作为值传递。但是,如果名字或姓氏包含<,则不会显示该值。我想我需要使用类似于带AngularJS平移插值的ng绑定,angularjs,angular-translate,ng-bind,Angularjs,Angular Translate,Ng Bind,我需要渲染字符,例如,它们可能包含在用户的名字或姓氏中。我使用angular translate来渲染名称,将名字和姓氏作为值传递。但是,如果名字或姓氏包含
ng bind=“translation_key | translate | values”
的东西,但这是不正确的。如何将ng绑定与角度平移插值结合使用?这是呈现包含字符(例如)的转换值的正确方法吗?谢谢
*编辑
这几乎可以工作,但消毒剂输出一个错误
ng-bind="'locales.user_filter' | translate: { first: user.firstName, last: user.lastName }"
错误:[$sanitize:badparse]消毒器无法分析以下html块:
在将值传递给转换键之前,我使用了一个过滤器
.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>
.filter('htmlEntities',函数(){
返回函数(输入){
返回字符串(输入).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});