>我正在搜索网络以找到在Ionic2中实现URL路由的解决方案,我似乎找不到使用URL访问页面的方法。
- 它已经在 Ionic 2 中实现了吗?
- 应该使用 Angular 2 路由器吗?它适用于 Ionic 2 吗?
我需要能够在 Web 应用程序中获取页面的物理 URL;以便能够在 Web 应用程序外部共享它。
谢谢
我想你正在寻找离子服务DeepLinker。这不会取代 FILO/NavController ,但提供了一种基于 URL 定义和显示特定视图的方法。
在您的主模块中添加:
imports: [
IonicModule.forRoot(MyApp, {}, {
links: [
{ component: DetailPage, name: 'Detail', segment: 'detail/:userId' }
]
})
]
完整的文档在这里。
此外,如果您还在AppStore/Play商店发布PWA,则可以使用本机插件Ionic Deeplinks。
-
Ionic 2 使用堆 FILO 模式进行路由,使用他的 NavController 方法(如
push
、pop
、setRoot
)。而且您不需要像使用路由系统那样使用序列,就像访问第 2 页一样,我需要浏览第 0 页和第 1 页,您只需push(NewPage)
,它就可以工作,因此它可以让您更好地控制应用程序页面以及它们的交互方式。 -
我从未见过有人谈论使用它。如果 NavController 在其后台使用 Angular 2 路由我不知道,会搜索这个,但 Ionic NavController 易于使用并且在大多数情况下效果很好,它唯一不支持的情况是在他的
pop()
方法中传递参数,为此我使用模态并完全像普通页面一样设置样式。您还可以使用setRoot
而不是pop
来传递这样的数据。this.navCtrl.setRoot(MyPage, this.Data);
有关更多信息,请参阅有关导航的 ionic 2 文档