我们最近切换到Angular 1.3.x,现在注意到它似乎执行了更好的脏检查。但是,有一种情况(更改完整站点的语言),我们的旧实现期望重新评估某些表达式。这不再起作用了。我们需要的是以某种方式重置angular的脏检查,使其至少重新评估所有表达式一次。有没有办法做到这一点? $ scope或$ rootScope.apply()显然不起作用。
更新澄清: 我们创建了自己的i18n过滤器,它使用服务来获得适当的翻译。它可以像:
一样使用{{'MyString'|i18n}}
如果我们更改语言,则会导致服务使用不同的翻译包。但是,我们在SPA中的某处更改了语言,因为表达式只是一个字符串,所以它永远不会改变,因此不会对其进行评估,翻译和重新呈现。老实说,现在我想起来了,我不知道它是如何使用Angular 1.2的。
BR, 丹尼尔