我正在使用"angular-translate": "^2.15.1"
与$translateProvider.useSanitizeValueStrategy('sce')
在我的控制器中,我需要将已翻译的字符串值传递给$ http服务。
但是下面的代码会返回TrustedValueHolderType
个对象而不是字符串。
defaultMessage = translate.instant('welcome-message.default.message');
裸露的最小笨蛋https://plnkr.co/edit/ZPtixjNub9kIExiuGIkp?p=preview 打开控制台(全部清除)。然后单击DE或EN按钮并查看日志
答案 0 :(得分:2)
是的,正如评论中所提到的,decodeURIComponent
可能会解决它。但这首先是造成这种情况的原因:
$translateProvider.useSanitizeValueStrategy('sce')
这会对$translate
全局输出进行编码..这就是为什么你可以使用decodeURIComponent
来解决它。
也许你可以使用不同的策略。 angular-translate
guide似乎建议采用escape
策略。
这是一个与escape
策略配合使用的forked plunker,无需使用decodeURIComponent