0

我使用Ionic框架及其AngularJS UI路由器和$ stateProvider來處理我的應用程序中的不同視圖。處理狀態作爲新的路線在Ionic框架與角UI - 路由器

但是,我很難弄清楚如何告訴$ stateProvider我有不同的「主視圖」,每個有不同的子視圖。

例如,當我在/#/home例如,並點擊一個鏈接發送給/#/about,然後/#/about不會呈現爲它自己的新視圖。相反,它轉換爲它,因爲它是/#/home的子頁面。

它的工作原理是當我用AngularJS $ routeProvider替換$ stateProvider時,但是所有的轉換都沒有了。

我爲你創建了一個Pen來看看它。

http://codepen.io/anon/pen/gBDFi

應該有它們之間沒有過渡。每個「基礎」網址應該是一個新的「標籤」。

+0

我不確定'subpages'是什麼意思。向兩個視圖添加'hide-back-button =「true」'(''),並從''刪除'animation =「slide-left-right」'。那是你想要達到的目標嗎?但是,只有在你的「主要觀點」之間切換時纔可以? –

+0

差不多!這正是我想要實現的行爲。但我想保留'subpages'的滑動動畫。 ''子頁'我的意思是例如'/#/ about/tom',其中'tom'是'/#/ about'的子頁面。 –

回答

0

不知道這是否仍然適用,因爲它被張貼二月,我決不是一個NG-PRO但這裏是我的嘗試JSBinLink

兩個主要的事情,我是從哪裏來包裝內容ion-tabs並將其作爲抽象狀態添加到stateProvider中。

有了這個構造你有兩個獨立的標籤「家」,「關於」 - 通知,沒有後退按鈕。 但是,如果您導航到「關於」中的「湯姆」 - 你會得到一個後退按鈕。

還有其他方法可以實現類似的功能,一種是創建子狀態等。

我建議查看UI-Routers文檔。 它大部分都寫得很好,而且內容非常豐富 - 還有一張Tom Kindberg的創作視頻,解釋了here的主要概念。

希望這會有所幫助。 $ StateRouteProvider和$ UrlRouteProvider之間

0

差異..

$ UrlRouteProvider.otherwise(URL); - >路由到給定的網址。

$ StateRouteProvider.otherwise(state); - >路由到給定的狀態。因此,如果您使用的是ui-router,那麼無論何處需要更改視圖,請使用$ state.go()。在$ location.path(URL)的情況下,可以在從獨立狀態轉換到當前狀態的情況下工作。如果你正在尋找通過同一父母下的狀態,那麼你必須使用$ state路由。