2015-10-14 31 views
0

我的應用程序的大部分部分共享包含標題,sidenav和內容區域的通用佈局。這些常見元素在我的index.html文件中設置,渲染路線的結果通過ng-view指令包含在內。見下文。 (請注意,我正在嘗試使用Material Design)。與AngularJS一起使用單獨的首頁佈局

<body layout="row">  

    <md-sidenav md-is-locked-open="true" class="md-whiteframe-z2">  
     <header> 
      <!-- heading --> 
     </header>  
     <ul> 
      <!-- menu options --> 
     </ul>  
    </md-sidenav> 

    <div flex layout="column"> 
     <md-toolbar layout="row"> 
      <!-- tool bar content --> 
     </md-toolbar> 
     <md-content flex layout-padding id="content"> 
      <div ng-view></div> <!-- result goes here --> 
     </md-content> 
    </div>  

    <!-- scripts --> 

</body> 

我的問題是,我怎麼去創造它有一個完全不同的佈局的頭版,例如,它不具有側邊導航?在我看來,我需要將header,sidenav等移動到一個單獨的模板中,然後有條件地將路由結果注入到單獨的模板中,然後在ng-view中使用它。換句話說,我認爲我需要有條件地裝飾路線響應。

從哪裏開始?

我看到有一個UI路由器模塊可用,但我認爲這可能是我的簡單場景矯枉過正。

回答

0

一個簡單的ng-if可能會有幫助......只在您的主頁控制器中設置一個變量,所以對於所有其他路由條件將是錯誤的。

<md-sidenav ng-if="!homePageControllerVariable"> 

另一個替代方案是一個動態ng-include

相關問題