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