0

我无法从模板缓存中获取模板片段(如下所示:)

<script id="sub1.html" type="text/ng-template">
<div> sub1 Content</div></script>

我认为这是因为 index.html 文件中的第 11 行

<div class="hiddenContent" ng-include="'templates.html'">

如果我用 templates.html 替换这一行,它就可以工作。

如何使这项工作保持第 11 行?

在Plunkr Code中查看我的代码

4

1 回答 1

0

它有效,尝试将模板移动到 index.html

http://plnkr.co/edit/MOwCD8UyRT2IBmaeeAMX?p=preview

<html ng-app="myApp">

<head>
  <script data-require="angular.js@1.2.16" data-semver="1.2.16" src="https://code.angularjs.org/1.2.16/angular.js"></script>
  <link rel="stylesheet" href="style.css" />
  <script src="script.js"></script>
</head>

<body ng-controller="myCtrl">
  <div class="hiddenContent" ng-include="'templates.html'">
  </div>
  <h1>Hello Plunker!</h1>
  {{test}}
  <myapp-directive></myapp-directive>

  </div>
</body>

</html>

<script id="sub1.html" type="text/ng-template">
  <div>sub1 Content</div>
</script>

<script id="sub2.html" type="text/ng-template">
  <div>sub2 Content</div>
</script>

也许问题是 AngularJS 在另一个文件中找不到 ng-template。如果您在 templateCache 中定义 sub1.html,它也可以工作:

var app=angular.module("myApp",[]);
app.run(["$templateCache", function ($templateCache) {
  $templateCache.put("sub1.html","<div> sub1 Content</div>");
}]);
于 2015-05-27T07:51:58.697 回答