2012-11-29 105 views
3

我有一個單頁的網絡應用程序,其模板/網頁看起來像:你可以在angularjs中嵌套ngView嗎?

[templateLeft | templateRight]

我想設置路由,以便某些用戶沒有登錄時,他們去不同的頁面(登錄頁面),當他們登錄時,路由只會影響templateRight(如templateLeft isn'重新加載)。

看起來最好的方法是使用路由和ng-view,但是由於一個路由影響整個頁面,一個路由隻影響templateRight,我不知道如何去創建控制器/路由正確,因爲它看起來像你不能嵌套ng視圖的。

我錯了嗎?什麼是實現這一目標的好方法?

+0

您是否找到了解決方案? –

回答

2

有沒有標準的方式嵌套ngView與當前版本的AngularJS。這是相當常見的請求,並且有一些爲此打開的pull請求,但沒有簽入。

在郵件列表和SO上都有關於這個主題的幾個討論,人們試圖採用不同的策略,但又一次 - 沒有乾淨/推薦嵌套ngView的方法。

最近AngularJS團隊認識到有多個路由器的空間,並將核心路由服務(和ngView指令)重構爲單獨的模塊。最有希望的,社區驅動的努力,以取代「官方」路由器似乎是角UI路由器:https://github.com/angular-ui/router

+0

似乎@AngryTux有更好的(更新的)答案。正是有關這個話題的工作。 – Michael

+0

@邁克爾右,UI路由器似乎非常有前途。不過,這是一個擴展,而不是AngularJS核心的一部分。而且還是相當早的努力。但是,是的,我們希望它會增長。更新了答案。 –

3

其實,有一個Alpha開發正在進行可在這裏:https://github.com/angular-ui/ui-router

主目標 將角度「路由」的概念演變爲用於管理粗略應用程序狀態的「狀態」的更多 一般概念。

主要功能:狀態管理器$ stateProvider和$ state,保持狀態 邏輯與路由邏輯分開。嵌套狀態(父母/子女 關係)。可以通過命名視圖設置多個視圖。 ui-view 指令。 URL路由向後兼容Angular v1路由器 各種其他掘金