2017-02-16 69 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