2017-02-16 70 views
3

我在網上尋找解決方案以在Ionic2中實現url路由,我似乎無法找到使用URL訪問頁面的方法。Ionic 2/Angular 2路由 - 漸進式Web應用

  1. 它是否已在Ionic 2中實施?
  2. 應該使用Angular 2路由器嗎?它是否適用於Ionic 2?

我需要能夠獲得網頁應用程序內的網頁的物理網址;以便能夠在網絡應用程序之外共享它。

謝謝

回答

0
  1. 離子2採用的是一堆FILO架構與他NavController方法路由(如pushpopsetRoot)。你不需要像使用路由系統一樣使用序列,就像訪問第2頁,我需要經過第0頁和第1頁,你可以只是push(NewPage),它會工作,所以它會給你一個更好地控制應用程序頁面以及它們如何交互。

  2. 我從來沒有見過任何人在討論使用它。如果NavController在其後臺使用Angular 2路由,我不知道,會搜索這個,但是Ionic NavController很容易使用,並且在大多數情況下工作得很好,它唯一不支持的情況是傳遞參數回到他的pop()方法中,爲此我使用模式和樣式,它完全像普通頁面。您也可以使用setRoot而不是pop來傳遞數據。

    this.navCtrl.setRoot(MyPage, this.Data); 
    

欲瞭解更多信息,請參見ionic 2 documentation on navigation

+2

謝謝你Gabriel和Gardi爲這個答案。那麼在這個階段,不可能將URL分享給特定的頁面?如果是PWA – Isabelle

6

我認爲你正在尋找的離子服務DeepLinker。這並不代替FILO/NavController,但提供了一種方法來定義和顯示基於URL的特定視圖。

在你的主模塊添加:

imports: [ 
    IonicModule.forRoot(MyApp, {}, { 
     links: [ 
     { component: DetailPage, name: 'Detail', segment: 'detail/:userId' } 
    ] 
    }) 
] 

full documentation here。此外,如果您還在AppStore/Play商店中發佈了PWA,則可以使用本機插件Ionic Deeplinks

+0

謝謝!將仔細看看這:) – Isabelle