我刚刚更新到角度翻译的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>
我错过了什么吗?
答案 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
(免责声明:我来自角度翻译核心团队。)
答案 1 :(得分:0)
我认为这是上述提交造成的错误。
实际上你在angular-translate.v2.4.js第924行中将'$ translateChangeEnd'替换为'$ translateLoadingSuccess',没关系。