Angular不再使用模板缓存(TemplateCache)

3

Anguilar 1.5.*

我无法让Angular使用我的模板缓存。我故意给了一个无效的路径名,以便获得HTML文件未找到的提示。但它并没有使用模板缓存,而是只请求HTML文件。

templates.js

angular.module("gulpTemplates", []).run(["$templateCache", function($templateCache) { $templateCache.put("aaaa/views/examples.html"

...

app.js

var gulpNewy =
  angular
  .module('gulpNewy', ['ngRoute', 'gulpTemplates'])
  .config(function($routeProvider) {
  $routeProvider
      .when('/home', {
          templateUrl: 'views/home.html',
          controller: 'homeCtrl'
      })
      .when('/examples', {
          templateUrl: 'views/examples.html'
      })
      .when('/screen-shots', {
          templateUrl: 'views/screen-shots.html'
      })

index.html

<div class="col-xs-12" ng-view></div>

我做错了什么?


gulpTemplates是否包含您所需的所有内容? - Max
gulpTemplates 模块是否注入成功? - Max
4
问题不通。如果您提供无效的路径,当然会发出服务器请求。存储到缓存的代码不完整,没有显示您何时调用模板。请提供 [mcve]。 - charlietfl
@charlietfl <div class="col-xs-12" ng-view></div> 表示调用模板。我提供了无效的路径,所以模板不应该显示并抱怨路径。如果使用 templateCache,你是错误的,它不会向服务器请求 html 文件,但会抱怨路径。 - dman
完全不清楚你的问题是什么。请创建一个演示来复制它。 - charlietfl
显示剩余3条评论
1个回答

0

好的,我找到了问题所在。

如果您正在使用ng-view,则默认情况下templateCache将无法正常工作。这是因为使用ng-view时不需要使用ng-includetemplateCache需要与ng-include$templateCache.get一起使用。

无论是否使用$templateCache.getng-view都不会查找templateCache。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接