0

我使用 angular-translate 进行翻译并试图避免 FOUC。

angular.forEach(translations, function(translation){
  $translateProvider.translations(translation.locale, translation.translations);
});

$translateProvider.preferredLanguage(settings.defaultLocale);

我试图在我的一个 html 中做到这一点

<h3 class="xxxx" translate translate-cloak>{{'ITEMS'}}</h3>

但我仍然看到 FOUC 的行为。任何想法或建议。当我调试脚本时,我看到事件 $translateLoadingSuccess 永远不会被调用,因此即使在页面加载后我的所有元素都是不可见的。

4

2 回答 2

0

我能够使用 ngBind 解决问题。然后将翻译登录名移到控制器中

$translate('KEY').then(function(newValue){
    $scope.KEY = newValue;
});

还需要确保您使用 ngSanitize 在 app.config 中进行设置

于 2014-07-28T17:29:31.800 回答
0

如果你想避免 FOUC,你正在寻找的是 ng-cloak。您必须像这样添加它:

<body class="{{ bodyClass }}" ng-cloak>

这将防止不必要的闪烁。链接到 Angular 文档

于 2014-07-27T07:59:50.713 回答