2016-03-04 67 views
1

我正在用AngularJS構建一個頁面應用程序。現在我只用一個控制器,它是一個非常長的文件(當然有幾個工廠,但Ctrl仍然是滿的)。因此,我可以將我的頁面分割成導航欄和正文,我想爲導航欄設置一個單獨的Ctrl。 (事情在這裏,導航欄包括一個大的選項下拉列表和一些其他的東西,所以不只是標題和鏈接)但是我真的不怎麼做。現在我的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> 

因此,大家可以看到,我的導航欄是在主HTML文件的模板。另外,導航欄和主html應該有相同的路線。所以現在,我絕對不知道如何使用第二個Ctrl。我不使用ng-template嗎?或者我可以給ng-template一個單獨的Ctrl而不是下面的部分?

回答

3

navbar.html文件可以包含自己的控制器。

Navbar.html

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

更多信息,請參見在AngularJS文檔的Controller: Scope Inheritance Example

+0

即使它包含在ng-temaple中,因此繼承了它所在的主文件的控制器? – threxx

+0

@threxx是的。角度'範圍'發揮作用(繼承) – khakiout

+0

好吧非常感謝,我會嘗試! – threxx