2015-06-14 2 views
0

вечера,AngularJS - контроллер и ngRoute

Я использую ngRoute + 1.3.5 на данный момент, у меня есть страница администратора, который имеет свой собственный взгляд администратора и контроллер.

Я не хочу ссылки сценария 'admin.js':

<script src="/Resources/Javascript/Controllers/ctrlAdmin.js"></script> 

-in страница index.html - где нг вид проживает. Мне нужен только маршрут, на который вы указали (без ввода контроллера).

.when('/admin', { 
    templateUrl: '/resources/html/views/admin.html' 
    // Look Mom, no controller reference........ 
}) 

Если я включить ссылку на файл «admin.js» в файле вида, давайте назовем его «admin.html», я получаю 'функцию NaN неопределенные. Однако, если я помещаю его на страницу index.html, все отлично. Я бы предпочел, Angular явно пытается разрешить все ссылки до того, как они загрузятся, что разумно; но есть ли способ сделать это чисто?

ответ

0

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

  • ui-router для состояние/маршрутизация управление
  • ui-router-extras.future разрешить доступ не определенным состояниям и ленивым загружать их
  • ocLazyLoad для отложенной загрузки всех вещей

Для переводов у меня есть собственная реализация, которую я хотел бы открыть позже. Но angular-translate достаточно хорош для большинства случаев.

С помощью этой комбинации вам не нужно ни определять (защищенное разрешение) js в index.html, ни как зависимость. Другим положительным эффектом является уменьшение размера загрузки.

Смежные вопросы