How do I postpone the evaluation of angular expressions in the HTML after an asynchronous operation?
I need the translate function that only becomes defined after an AJAX call.
Here is the code:
angular.module('app', [])
  .run(['$rootScope', '$http', function($rootScope, $http) {
    $rootScope.locale = 'en';
    $http.get('/resources').then(response => {
      let dictionary = response.data;
      $rootScope.tr = (key, ...args) => {
        let text = dictionary[$rootScope.locale][key];
        args.forEach((value, index) => text = text.replace(`{${index}}`, value));
        return text;
      };
    });
  }
In the HTML,
<body ng-app="app"> {{tr('page.title')}} </body>
 
    