2014-07-10 5 views
0

Я думаю, что у меня есть грубое недоразумение относительно того, как работает работа в AngularJS, а также SPA.Single Page Application View Location

Я думал, с моей простой маршрутизации:

$routeProvider 
    .when('/home', { 
     templateUrl: 'app/views/home.html', 
     controller: 'homeController' 
    }) 
    .when('/login', { 
     templateUrl: 'app/views/login.html', 
     controller: 'loginController', 
    }) 

Я думал, что, когда я пошел в /login, угловатый сделал вызов Ajax, чтобы захватить страницы HTML это необходимо. Тем не менее, я не вижу никаких вызовов, проходящих через скрипача, и это на самом деле не имеет смысла.

Но я не могу найти, где находятся страницы в моих инструментах разработчика Chrome, и не найти правильную комбинацию слов, чтобы получить подходящий ответ через Google. Может кто-нибудь прояснить это для меня?

, если это поможет, вот тело моей страницы макета:

<body ng-cloak> 

<nav class="navbar navbar-default navbar-fixed-top" role="navigation"> 
    ...nav stuff 
</nav> 

<br/><br/> 

<div class="container body-content" ng-view></div> 

<!-- 3rd party scripts --> 
<script src="Scripts/angular.js"></script> 
<script src="Scripts/angular-local-storage.min.js"></script> 
<script src="Scripts/jquery-2.1.1.min.js"></script> 
<script src="Scripts/bootstrap.min.js"></script> 
<script src="Scripts/angular-route.min.js"></script> 
<!-- app main --> 
<script src="app/app.js"></script> 
<!-- controllers --> 
<script src="app/controllers/homeControllers.js"></script> 
<script src="app/controllers/loginController.js"></script> 
<!-- services --> 
<script src="app/services/modelErrorService.js"></script> 
<script src="app/services/authInterceptorService.js"></script> 
<script src="app/services/authService.js"></script> 
</body> 

EDIT

Жаль, что я, возможно, было неясно. Код работает нормально. Мой вопрос в том, когда угловые маршруты вы переходите на новую страницу, где загружается этот html-шаблон? Все ли оно доставляется клиенту на ходу, или он обращается к серверу? Если он находится на клиенте, где он хранится?

+0

Можете ли вы рассказать о ваших заявках 1-я страница .... – parthicool05

+0

Предполагаю, что вы идете на #/login? – Michiel

+0

Да, просто кнопка из моего '#/home', которая ссылается на' #/login' – Jonesopolis

ответ

3

Если templateUrl указано, Угловое будет выглядеть в $templateCache для шаблона и загрузите его оттуда, если найден. Если он не найден, он попытается извлечь его с сервера, сохраните его в $templateCache для будущего доступа и загрузите его в поле зрения.

Шаблоны могут быть введены в Угловое-х $templateCache

  1. , когда получены с сервера в первый раз
  2. , помещая их в HTML, в <script type="text/ng-template"></script> элемент
  3. по программно помещая их в $templateCahce (по какой-либо причине: производительность, автономный доступ и т. д.)
+0

Thankyou very much – Jonesopolis

0

Ваш код выглядит просто отлично.

Вы вводили модуль ngRoute в приложение так:

angular.module('your-app-name', ['ngRoute']); 
Смежные вопросы