Ionic / Angular 2:在NavController中多次使用一个组件

时间:2017-03-19 17:36:54

标签: angular ionic-framework ionic2

是否有能力使用一个组件来显示每个级别的列表的分层数据并通过navController.push(theComponent)导航到它?

我的json数据具有以下结构:

list
   field1
   sublist
      field1
      subsublist
         ...
   field1
   sublist
      field1
      subsublist
         ...

我在ionic中编写了一个显示列表的组件。通过单击列表条目,我想显示具有相同组件的此条目的子列表。我试过这个:

@Component({
  templateUrl: 'template.html'
})

export class MyComponent {
    items = []; // Items of a level to be displayed
    constructor (public nav: NavController)
    {
    }
openItemClick(sublist) {
   this.items = sublist;
   this.nav.push(this); // This will be crash!!
 }
}

我成了Runtime error: Uncaught (in promise): false. 无法使用组件的相同实例。是否能够在此时实例化新实例并在this.nav.push(newInstance)中使用它?

1 个答案:

答案 0 :(得分:0)

this是一个实例,而您需要push一个类。我假设您最初导航到您的列表,如下所示:

this.nav.push(MyComponent, list);

所以你应该稍微改变你的方法:

openItemClick(sublist) {
    this.nav.push(MyComponent, sublist);
}