2015-05-05 241 views
0

在我的應用程序中,我有主要內容區域和屏幕外導航。主屏幕視圖通過ui-view指令以角度填充。我希望我的離屏導航也通過ui-view指令填充。我不希望這是一個嵌套的視圖,我希望這個視圖顯示獨立於根視圖但基於相同路線的內容。事情是這樣的:每個路由的角度ui路由器多個視圖

<body> 
    <ui-view="root"></ui-view> <!-- Main page view is here --> 
    <div id="OffscreenMenu"> 
     <ui-view="menu"></ui-view> <!-- This content will change each time the url changes --> 
    </div> 
</body> 

所以後來我想是不定義多個狀態,但有這將顯示兩個不同的模板,每個視圖一個狀態。

我找不到任何可能的方式。我有搜索文檔,但我能找到的是關於嵌套視圖的信息。提前致謝。

回答

1

你可以做到以下幾點:

$stateProvider.state('state', { 
    views: { 
     '[email protected]': { /* controller, templateUrl */ }, 
     '[email protected]': { /* controller, templateUrl */ } 
    } 
}); 

您還可以使用parent屬性:

$stateProvider 
    .state('topState', { 
     views: { 
      '[email protected]': { /* controller, templateUrl */ } 
     } 
    }) 
    .state('state1', { 
     parent: 'topState', 
     views: { 
      '[email protected]': { /* controller, templateUrl */ } 
     } 
    }) 
    .state('state2', { 
     parent: 'topState', 
     views: { 
      '[email protected]': { /* controller, templateUrl */ } 
     } 
    }); 
0

我將它設置成有兩個子視圖的絕對根視圖。

.state('app', { 
    abstract: true, 
    url: '/', 
    ... 
}) 
.state('app.root', { 
    ... 
}) 
.state('app.menu', { 
    ... 
})