(前言:我来自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"
希望对别人有帮助!