2016-11-29 46 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服務將刪除該類,並且可以顯示實際值。