我正在使用AngularJS构建一个单页应用程序。现在我只使用一个控制器,这是一个非常长的文件(当然有几个工厂,但仍然是Ctrl)。因此我可以将页面划分为导航栏和正文,我想为导航栏单独设置一个Ctrl。 (事情就在这里,导航栏包含一个大选项下拉列表和其他一些东西,所以不仅仅是标题和链接)但是我真的不怎么做。现在我的main.html文件如下所示:
<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>
如您所见,我的导航栏是主html文件中的模板。此外,导航栏和主html应该具有相同的路线。所以现在,我绝对不知道如何使用第二个Ctrl。我不使用ng-template或者我可以给ng-template一个单独的Ctrl而不是下面的部分吗?
答案 0 :(得分:3)
navbar.html
文件可以包含自己的控制器。
<强> Navbar.html 强>
<div ng-controller="NavbarCtrl">
<!-- your code -->
</div>
有关详细信息,请参阅AngularJS文档中的Controller: Scope Inheritance Example。