离子路径路由(如 Angular 2 中的 RouterModule)



(前言:我来自C#/WPF背景,一般是Web开发的新手 - 请耐心等待!

使用 Angular 2,我可以像这样定义我的路线:

    RouterModule.forChild([
        { path: 'contacts', component: ContactsComponent }
    ])

然后,在某些 html 中,我可以使用 routerLink 语法引用它:

routerLink='/contacts'

这很好用,最终它允许我用绑定替换字符串,这样我就可以在运行时获取路径,允许数据确定导航结构。

现在,我正在尝试在 Ionic 2 中做类似的事情,但如果可能的话,这对我来说并不明显。 我已经了解了如何使用 [navPush] 通过深度链接绑定到页面(就像这个人所做的那样:http://plnkr.co/edit/syUH0d6SJd2gAjqaPLwr?p=preview(,但这需要在想要使用它的组件中提前定义页面。

Ionic 的导航结构是否支持这一点?

经过大量的挖掘,我发现我做错了什么。以下是使用 Ionic v2 深层链接直接链接到路径的方法:

在 app.module.ts 导入中添加:

IonicModule.forRoot(MyApp, {}, {
  links: [
    { component: ContactsPage, name: 'ContactPageName', segment: 'contacts' }
  ]

确保还将联系人页面添加到声明和条目组件中。

然后,在启动导航的页面的 html 中,您可以声明性地使用它,如下所示

navPush="ContactPageName"

请注意,您使用的是直接链接的名称!

就我而言,我从 json 文件中获取项目列表,因此像这样循环遍历它们:

 <ion-item *ngFor="let contact of contacts" detail-push>
      <button ion-button navPush="{{contact.link}}">Go</button>
 </ion-item>

其中我的 JSON 文件包括:

    "link": "ContactPageName"

希望对别人有帮助!

相关内容

  • 没有找到相关文章

最新更新