Chciałem załadować szablon widoku wbudowanego.
Owinąłem szablon w tag typu script text/ng-template
i ustawiłem identyfikator na temp1.html
. a oto jak wygląda moja konfiguracja modułu
learningApp.config(function ($routeProvider) {
$routeProvider
.when("/first",{ controller: "SimpleController", templateUrl: "temp1.html"})
.when("/second", {controller: "SimpleController", templateUrl: "temp2.html"})
.otherwise({redirectTo : "/first"});
});
Mówi mi GET http://localhost:41685/temp1.html 404 (Not Found)
w oknie konsoli, co oznacza, że szuka pliku o tej nazwie.
Moje pytanie brzmi: Jak skonfigurować moje trasy, aby używały wbudowanych szablonów?
Aktualizacja: tak wygląda mój model DOM renderowany na serwerze
<!DOCTYPE html>
<html>
<head>
<script src="/Scripts/angular.js"></script>
<link href="/Content/bootstrap.css" rel="stylesheet"/>
</head>
<body>
<div class="container">
<h2>Getting Started with Angular</h2>
<div class="row">
<div class="panel" ng-app="LearningApp">
<div ng-view></div>
</div>
</div>
<script type="text/ng-template" id="temp1.html">
<div class="view">
<h2>First View</h2>
<p>
Search:<input type="text" ng-model="filterText" />
</p>
<ul class="nav nav-pills">
<li ng-repeat="cust in customers | orderBy:'name' | filter: filterText "><a href="#">{{cust.name}} - {{cust.school}}</a></li>
</ul>
</div>
</script>
<script type="text/ng-template" id="temp2.html">
<div class="view">
<h2>Second View</h2>
<p>
Search:<input type="text" ng-model="filterText" />
</p>
<ul class="nav nav-pills">
<li ng-repeat="cust in customers | orderBy:'name' | filter: filterText "><a href= "#">{{cust.name}} - {{cust.school}}</a></li>
</ul>
</div>
</script>
</div>
<script src="/Scripts/jquery-1.9.1.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/app/LearningApp.js"></script>
</body>
</html>
Spróbuj użyć atrybutu id elementu skryptu, aby ustawić nazwę szablonu, która powinna działać.
<script type="text/ng-template" id="temp1.html"> ... some template stuff </script>
źródło