簡體   English   中英

使用Angular UI-Router將狀態作為Ionic Framework中的新路由處理

[英]Handle State as new Route in Ionic Framework with Angular UI-Router

我正在將Ionic Framework及其AngularJS UI-Router和$ stateProvider用於處理我的應用程序中的不同視圖。

但是,我很難弄清楚如何告訴$ stateProvider我得到了不同的“主視圖”,每個視圖都有不同的子視圖。

當我在/#/home ,例如,點擊它發送給我一個鏈接/#/about ,那么/#/about沒有得到渲染,因為它是自己的新觀點。 相反,它過渡到它,因為它是/#/home的子頁面。

當我用AngularJS $ routeProvider替換$ stateProvider時,它應該像應該的那樣工作,但是所有轉換都消失了。

我創建了一支鋼筆供您查看。

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

它們之間不應有過渡。 每個“基本” URL應為一個新的“標簽”。

不知道這是否仍然相關,因為它是二月份發布的,我絕不是ng-pro,但這是我的嘗試JSBinLink

我做了兩件主要的事情,將內容包裝在ion-tabs中,並將其作為抽象狀態添加到stateProvider中。

使用此結構,您有兩個獨立的選項卡“主頁”,“關於”-注意,沒有后退按鈕。 但是,如果您導航到“關於”中的“湯姆”,則會顯示返回按鈕。

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

我建議您查看UI-Routers文檔。 它寫的很好,信息也很豐富-還有一個湯姆·金德伯格(Tom Kindberg)的創作視頻在這里解釋其主要概念。

希望這可以幫助。

$ StateRouteProvider和$ UrlRouteProvider之間的區別..

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

$ StateRouteProvider.otherwise(state); ->路由到給定狀態。

因此,如果您使用的是ui-router,則無論何時需要更改視圖,都請使用$ state.go()。 在$ location.path(URL)的情況下,例如在從獨立狀態轉換為當前狀態的情況下,它將起作用。 如果要通過同一父級下的州進行路由,則必須使用$ state路由。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM