2014-12-17 4 views
1

Итак, на моей странице Angular JS у меня есть моя страница с указателем, которая имеет верхний и нижний колонтитул моей страницы .. и основной контейнер загружается таким же образомУгловой JS загружает начальный вид на домашнюю страницу. Низкая нагрузка

<!-- container --> 
<div ui-view></div> 
<!-- /container --> 

app.config(['$stateProvider','$urlRouterProvider','$locationProvider', 

    function($stateProvider,$urlRouterProvider,$locationProvider){ 
     'use strict'; 

     $urlRouterProvider.otherwise("/"); 

     $stateProvider 
     .state('home', { 
      url: '/', 
      templateUrl: '/views/search.html', 
      controller: 'SearchCtrl' 
     }) 
     .state('result', { 
      url: '/result', 
      templateUrl: '/views/result.html', 
      controller: 'resultCtrl' 
     }); 


     $locationProvider.html5Mode(false); 
    }]); 

Проблема заключается в начальной загрузке на главной странице, что очень заметно, что основной контент загружается после заголовка и нижнего колонтитула. Подобная начальная страница очень медленная, а затем расширяется при загрузке представления.

Есть ли способ улучшить эту производительность?

+0

Вы хотите, чтобы повысить производительность, или вы хотите, чтобы скрыть заголовок/колонтитул, пока все не будет готово ? –

+0

Я полагаю, что я ищу все, чтобы загрузить в то же время, да, я не хочу, чтобы на странице появилась неувязка. – StevieB

ответ

0

По меньшей мере одна из причин медленности заключается в том, что шаблон для представления ('/views/search.html') получается асинхронно. Одним из способов улучшения является добавление шаблона инлайн (например, в index.html) с <script> тегом:

<script type="text/ng-template" id="/views/search.html"> 
... template 
</script> 
+0

Как это работает с UI-маршрутизатором и изменяющимися состояниями? – StevieB

+0

Он работает так же, как указано выше, за исключением того, что «/views/search.html» будет извлекаться не из URL-адреса, а из кеша шаблона –