Ionic 3,对一个组件使用多页html

时间:2018-07-27 09:45:04

标签: angular ionic-framework ionic3 components angular-routing

我正在使用Ionic 3,我有一个问题。

是否有2页html使用相同的'component.ts'?

例如,如果我有2页: 第一页显示所有用户, 第二页显示用户详细信息 和1个组件UserPage。

对于Ionic 1,我可以在多个HTML页面中使用一个控制器,但是在Ionic 3中,我不知道是否可能。如果可能,如何在点击时将页面称为html?例如,对于组件,我们这样做:

  

this.navCtrl.setRoot(TabsPage);

实际上,使用这种方式还是使用常规方式更好(生成所有内容的离子g页XXX?)? 预先感谢。

1 个答案:

答案 0 :(得分:2)

我建议您创建一个单独的页面以获取详细信息,即user-details。在您的列表页面中,我们称其为users,您可以这样做

this.navCtrl.push('user-details', { id: user.id });

这将向user-details发送一个ID参数,您可以通过在user-details.ts中进行以下操作来获取

userID: number;

constructor(public navParams: NavParams){
// ...
}

ionViewDidLoad() {
    this.userID = this.navParams.get('id');
}

当然,如果要发送完整的用户对象,只需将对象编辑为类似

{ user: user }

并通过以下地址访问它

this.navParams.get('user')

使用this.navCtrl.setRoot()进行导航是不明智的做法。相反,您应该使用this.navCtrl.push()this.navCtrl().pop()