我如何检测角度翻译文件是否已加载

Die*_*ayo 1 javascript angularjs angular-translate

我试图在我的角度应用程序中使用一次性绑定来提高性能。所以我想使用下一种方式的angular-translate:

//This code does not work.
function myCtrl($translate){
    $scope.DESCRIPTION = $translate.instant('DESCRIPTION');
}


//I should use a timeout of next way:
//This code does work.
function myCtrl($translate){

   setTimeout(function(){
     $scope.DESCRIPTION = $translate.instant('DESCRIPTION');
   }, 1000);
}
Run Code Online (Sandbox Code Playgroud)
<p> {{::DESCRIPTION}} </p>
Run Code Online (Sandbox Code Playgroud)

如何检测何时加载语言json文件?我不想使用setTimeouts。

我希望你能理解我

谢谢!

小智 5

检查此解决方案:

function loadTexts(scope, ids) {

  $translate.onReady(function() {

    var size = ids.length;

    for (var i = 0; i < size; i++) {
      var id = ids[i];
      scope[id] = $translate.instant(id);
    }

  });
};


function myCtrl($scope){
  loadTexts($scope, ['DESCRIPTION', 'HEADER_TEXT']);
}
Run Code Online (Sandbox Code Playgroud)
<p> {{::HEADER_TEXT}} </p>
<p> {{::DESCRIPTION}} </p>
Run Code Online (Sandbox Code Playgroud)