angular-translate:translate-cloak在v2.4中不起作用

时间:2014-09-23 19:02:43

标签: angular-translate

我刚刚更新到角度翻译的v2.4:http://angular-translate.github.io 并发现translate-cloak不起作用。它曾经在v2.2中工作。 'translate-cloak'类现在永远不会从有标记的标记中删除 translate-cloak属性。

我有一个能够证明问题的人:

http://plnkr.co/edit/NOxGMEqTy4FsZBSIK0zl

如果有效,则应显示两行。第二行是在div中有一个 translate-cloak属性。

您可以将index.html的第9行更改为以下行(从v2.4更改为v2.2 of angular-translate)看它在v2.2中有效。

<script src="angular-translate.v2.2.js"></script>

我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

提交98fe64是https://github.com/angular-translate/angular-translate/issues/658的修复(事件始终未被触发)。实际上它应该比以前更频繁地发射 而不是之前。

看看你的例子,我可以看到语言似乎是在解析指令之前加载的,因此监听器带有控制台输出。

console.log('$translateChangeEnd');

这意味着问题与变更成功无关 - &gt; 〜结束,但与非确定性(甚至不是在这个特定的例子中)资源加载,xhr响应和组件解析和编译的顺序有关。

我添加了

$rootScope.$emit('$translateChangeEnd', { language: translation.key });

但我们必须检查这是否涵盖了所有内容。

请参阅fork http://plnkr.co/edit/kawPEyjPpPRtJvJzqLeD?p=preview

查看我的优秀补丁https://github.com/angular-translate/angular-translate/commit/e5ef6ab609d6a58defd371ca8239e8054cab718e

(免责声明:我来自角度翻译核心团队。)

答案 1 :(得分:0)

https://github.com/angular-translate/angular-translate/commit/98fe649a241b79c245fb32d838b84f0fac319f5a

我认为这是上述提交造成的错误。

实际上你在angular-translate.v2.4.js第924行中将'$ translateChangeEnd'替换为'$ translateLoadingSuccess',没关系。