2016-11-29 41 views
0

我正在使用角度翻译与部分加载器结合,我想隐藏页面加载翻译键。 在app.js在页面加载角度隐藏翻译键

 var app = angular.module('myapp', [ 
      'ngRoute', 
      'appRoutes', 
      'pascalprecht.translate', 
      'angularTranslate', 
      'indexCtrl' 
     ]); 

    angular.module('angularTranslateApp', ['pascalprecht.translate']).config(function($translateProvider) { 
     $translateProvider.useLoader('$translatePartialLoader', { 
      urlTemplate: 'translation/{lang}/{part}.json' 
     }); 
$translateProvider.preferredLanguage('en-US'); 

index.js

angular.module('indexCtrl', []).controller('indexController', 
    function($scope, $translate, $translatePartialLoader) { 

    $translatePartialLoader.addPart('test'); 
    $translate.refresh(); 

}); 

test.json

{ 
"testkey":"testval" 
} 

HTML

{{ "testkey" || translate }} 

所以页面上加载它显示了几秒钟密押,我不想证明这一点,如何达致这。我已经使用翻译披风,但它不工作

回答

0

无论负载一种语言静态与$translate.preferredLanguage()设置为首选语言,所以有数据就显示,当页面加载的第一次。

或者使用$translateChangeSuccess事件将自定义CSS类应用到您的元素,即将其隐藏在默认状态,并在语言设置正确后立即使其可见。这样你就不会看到翻译键,因为它们最初是隐藏的。

另请参阅关于FOUC的段落this article

0

可以请你尝试在该页面的决心routeconfig

resolve: { 
      translatePartialLoader: ['$translate', '$translatePartialLoader', function($translate, $translatePartialLoader) { 
       $translatePartialLoader.addPart('test');   
       return $translate.refresh(); 
      }] 
    } 
-1

translate-cloak指令需要通过.translate-cloak{opacity:0}风格陪同。(这种风格隐藏的内容)。在"translateChangeSuccess"事件$translate服务将删除该类,并且可以显示实际值。