$ templateCache不工作是状态配置方法

时间:2016-03-30 21:32:15

标签: angularjs

我正在使用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'
          });
        });
    }());

1 个答案:

答案 0 :(得分:0)

您已经添加了额外的/(斜杠),在那里不需要,通过删除它,您可以在templateProvider函数中找到所需的模板。

使用

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

而不是

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