AngularJS не может получить шаблон из $templateCache

Я не могу получить фрагменты шаблона из кэша шаблонов (который выглядит следующим образом:)

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

Я думаю, что это из-за строки № 11 в файле index.html

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

Если я заменю эту строку на templates.html, она будет работать.

Как заставить эту работу держать линию № 11?

Посмотри мой код в Plunkr Code

1 ответ

Это работает, попробуйте переместить шаблон в 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-шаблон в другом файле. Это также работает, если вы определите sub1.html в templateCache:

var app=angular.module("myApp",[]);
app.run(["$templateCache", function ($templateCache) {
  $templateCache.put("sub1.html","<div> sub1 Content</div>");
}]);
Другие вопросы по тегам