Ionic 2 / Angular 2路由 - 渐进式Web应用程序

时间:2017-02-16 17:18:55

标签: ionic-framework routing routes ionic2

我正在网上搜索找到在Ionic2中实现网址路由的解决方案,我似乎找不到使用网址访问网页的方法。

  1. 它是否已在Ionic 2中实施?
  2. 是否应该使用Angular 2路由器?它适用于Ionic 2吗?
  3. 我需要能够在网络应用中获取网页的物理网址;为了能够在网络应用程序之外共享它。

    谢谢,

2 个答案:

答案 0 :(得分:7)

我认为您正在寻找Ionic服务DeepLinker。这不会取代FILO / NavController,但提供了一种基于URL定义和显示特定视图的方法。

在主模块中添加:

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

full documentation here

此外,如果您还在AppStore / Play商店中发布了PWA,则可以使用原生插件Ionic Deeplinks

答案 1 :(得分:0)

  1. Ionic 2使用桩FILO模式使用他的NavController方法进行路由(例如pushpopsetRoot)。并且您不需要像使用路由系统那样使用序列,比如访问第2页我需要经过第0页和第1页,您只需push(NewPage)它就能工作,这样可以更好地控制应用程序页面及其交互方式。

  2. 我从未见过有人在谈论使用它。如果NavController在其背景中使用Angular 2路由我不知道,会搜索这个,但Ionic NavController易于使用并且在大多数情况下工作得非常好,唯一的情况是它不支持然而,在他的pop()方法中传回参数,为此我使用模态和样式它完全像普通页面。您也可以使用setRoot代替pop来传递数据。

    this.navCtrl.setRoot(MyPage, this.Data);
    
  3. 有关详细信息,请参阅ionic 2 documentation on navigation