2016-03-04 3 views
1

Я создаю одностраничное приложение с AngularJS. Сейчас я использую только один контроллер, который является очень длинным файлом (конечно, есть несколько заводов, но, тем не менее, Ctrl по-прежнему заполнен). Так как я мог разделить мою страницу на navbar и тело, я думал о наличии отдельного Ctrl для навигатора. (дело здесь, navbar включает в себя большой выбор вариантов и некоторые другие вещи, поэтому не только Title и Links). Однако я действительно не знаю, как это сделать. Сейчас мой файл main.html выглядит следующим образом:Отдельный навигатор Ctrl для одностраничного приложения

<div ng-include="'views/templates/navbar.html'" id="navbarContainer"></div> 

<div id="map-container" class="container-fluid"> 
    <leaflet id="map" lf-center="hamburg" markers-nested="true" layers="layers" defaults="defaults" markers="markers" class="map"></leaflet> 
</div> 

Так как вы можете видеть, мой Navbar шаблон в основной HTML-файл. Кроме того, navbar и основной html должны иметь один и тот же маршрут. Итак, теперь я определенно не знаю, как использовать второй Ctrl. Я не использую ng-шаблон или могу просто указать ng-template отдельному Ctrl, чем часть ниже?

ответ

3

Файл navbar.html может содержать свой собственный контроллер.

Navbar.html

<div ng-controller="NavbarCtrl"> 
    <!-- your code --> 
</div> 

Смотрите Controller: Scope Inheritance Example в Документах AngularJS для получения дополнительной информации.

+0

, хотя он включен в ng-temaple и поэтому унаследовал контроллер основного файла, в котором он находится? – threxx

+0

@threxx да. угловые 'scopes' вступают в игру для этого (наследование) – khakiout

+0

хорошо, спасибо, я собираюсь попробовать это! – threxx

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