Modèle de chargement paresseux et contrôleur en interface utilisateur angulaire

Je tente de lazy load un contrôleur et le modèle de mon UI-Router router.js fichier, mais éprouve de la difficulté avec le modèle.

Le contrôleur de charge correctement, mais après c'est chargé, nous devons charger le modèle et c'est là que les choses vont mal.

Après ocLazyLoad charge le contrôleur, nous prenons la résolution Angulaire promesse qui est également inclus dans le templateProvider. Le problème est qu'au lieu de retourner à la promesse (templateDeferred.promesse) une fois le fichier terminé le chargement, la promesse est retourné comme un objet.

.state('log_in', {
    url: '/log-in',
    controller: 'controllerJsFile',
    templateProvider: function($q, $http) { 
      var templateDeferred = $q.defer();

        lazyDeferred.promise.then(function(templateUrl) {
        $http.get(templateUrl)
        .success(function(data, status, headers, config) {
            templateDeferred.resolve(data);
        }).
        error(function(data, status, headers, config) {
            templateDeferred.resolve(data);
        });
  });
  return templateDeferred.promise;
 },
 resolve: {
    load: function($templateCache, $ocLazyLoad, $q) {
        lazyDeferred = $q.defer();

        var lazyLoader = $ocLazyLoad.load ({
          files: ['src/controllerJsFile']
        }).then(function() {
          return lazyDeferred.resolve('src/htmlTemplateFile');
        });
        return lazyLoader;
    }
 },
 data: {
  public: true
 }
})

source d'informationauteur Rjdlee

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *