2016-03-30 10 views
1

Ich benutze Schluck, um meine Vorlagen in die Produktion js-Datei, so dass ich sie über $ templateCache zugreifen kann. Alles funktioniert gut für meine Anweisungen, aber die Vorlagen in meinem State-Provider funktionieren nicht. Es scheint, als ob das Objekt $ templateCache nicht verfügbar ist.

Verkettete JS-Datei. Dies ist am Ende der Datei:

angular.module("barmehealth").run(["$templateCache", 
    function($templateCache { 
    $templateCache.put("app/views/register.html","<div>Register</div>"); 
    $templateCache.put("app/modules/framework/framework.template.html","<div class>Framework Template</div>"); 
    } 
]); 

Ich habe beide Ansätze unten versucht und beide funktionieren nicht. Auch gibt es keinen Fehler. Die Ansicht lädt einfach die Indexseite mit nur dupliziertem Inhalt.

Mit templateUrl

(function() { 
    'use strict'; 

    angular.module('barmehealth', ['framework', 'ui.router']) 
    .config(function($urlRouterProvider, $stateProvider) { 
     $urlRouterProvider.otherwise('/'); 

     $stateProvider 
     .state('register', { 
     url: '/register', 
     templateProvider: function($templateCache) { 
      return $templateCache.get('/app/views/register.html'); 
     } 
     }); 
    }); 
}()); 

Mit templateProvider

(function() { 
     'use strict'; 

     angular.module('barmehealth', ['framework', 'ui.router']) 
     .config(function($urlRouterProvider, $stateProvider) { 
      $urlRouterProvider.otherwise('/'); 

      $stateProvider 
      .state('register', { 
      url: '/register', 
      templateUrl: '/app/views/register.html' 
      }); 
     }); 
    }()); 

Antwort

0

Sie haben zusätzliche / hinzugefügt (Schrägstrich), die dort nicht erforderlich ist, um es zu entfernen Sie Vorlage in templateProvider Funktion gewünscht kann.

Verwenden

return $templateCache.get('app/views/register.html'); 

Statt

return $templateCache.get('/app/views/register.html');