2016-03-30 2 views
1

Я использую gulp для добавления моих шаблонов в файл js для создания, чтобы я мог получить к ним доступ через $ templateCache. Все работает хорошо для моих директив, но шаблоны в моем государственном провайдере не работают. Кажется, что объект $ templateCache недоступен.

Конкатенированный файл JS. Это расположено в нижней части файла:

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>"); 
    } 
]); 

Я пробовал оба подхода ниже и ни один из них не работал. Также нет ошибки. Вид просто загружает страницу индекса, просто дает мне дублированный контент.

Использование 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'); 
     } 
     }); 
    }); 
}()); 

Использование 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' 
      }); 
     }); 
    }()); 

ответ

0

Вы добавили дополнительный / (слэш), который там не требуется, удалив его можно нужный шаблон в templateProvider функции.

Использование

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

Вместо

return $templateCache.get('/app/views/register.html'); 
Смежные вопросы