Javascript 使用escapeParameters插值参数时的角度平移问题

Javascript 使用escapeParameters插值参数时的角度平移问题,javascript,angularjs,json,sanitization,angular-translate,Javascript,Angularjs,Json,Sanitization,Angular Translate,我在使用角度平移时遇到了一个奇怪的问题(没有显示平移),参数插值作为日期对象 但首先要做的事情是:这是一个劫掠者 在翻译提供程序中使用“escapeParameters”清理策略 为什么要使用这样的json格式: $scope.title = { day: 'tomorrow', today: new Date() }; 我的翻译结果总是{},使用约定的形式 {{'VARIABLE_REPLACEMENT' | translate : title}} <translate="VARI

我在使用角度平移时遇到了一个奇怪的问题(没有显示平移),参数插值作为日期对象

但首先要做的事情是:这是一个劫掠者

在翻译提供程序中使用“escapeParameters”清理策略

为什么要使用这样的json格式:

$scope.title = { day: 'tomorrow', today: new Date() };
我的翻译结果总是{},使用约定的形式

{{'VARIABLE_REPLACEMENT' | translate : title}}

<translate="VARIABLE_REPLACEMENT" translate-values="{ day: 'tomorrow', today: title.today }">
{{'VARIABLE_REPLACEMENT'| translate:title}

正如您所看到的,使用角度平移的其他方法似乎很好。这是某种臭虫吗?或者我做错了什么?

看起来像是一个已知的bug。至少他们说

目前,消毒模式存在问题,它将加倍 编码UTF-8字符或特殊字符。建议:使用 “escape”[而不是“escapeParameters”]策略,直到 决心

所以,我想如果你想在第一次和第三次测试中使用这些变体,你可能必须坚持“逃避”策略。或者,将日期字符串的格式设置为不包含导致问题的字符


当我编辑您的plunker以使用“escape”时,您的四个测试都运行良好。

对于所有想知道的人,我在github angular translate存储库上打开了一个问题:这个问题将在2.11.2(当前版本的下一个版本)中修复。
关于这个问题的更多信息。

遗憾的是,我不同意:对于我需要的特殊字符,如示例中的“>”(您可以看到它在>中得到了解决),使用“转义”清理策略似乎不太合适。所以我不能接受使用逃逸的解决方案+1.谢谢你的努力。啊,是的,我现在明白了。我只是在查看日期值,它在更改策略时确实出现了。