通过按钮单击按钮传递URL

时间:2020-09-09 11:37:03

标签: javascript json angular ionic-framework

我正在创建一个从json url读取数据的离子应用程序。有两页。

我想将单击按钮的URL从第一页传递到第二页,以便在第二页中读取URL并显示数据。

第一页:首页 第二页:家庭详细信息。

我的home.html如下所示:

<button ion-button color="primary" round full style="height: 50px;" (click)="start($event, item)" [disabled]="startbuttonDisabled">
START!
</button> 

我的home.ts如下所示:

start(event: any,item: any) {
this.navCtrl.push(homedetailspage, {
item:item
});
}

我的home-details.ts如下所示:

constructor(public navCtrl: NavController, public navParams: NavParams, protected httpClient: HttpClient, public alertCtrl: AlertController) {

this.value = navParams.get('item');
console.log(this.value);

this.httpClient.get(this.value)
      .subscribe((res: any) => {
        this.jsonitems = res;
        },
      error=>{
        console.log(error);
      } );
}

我想将变量“ item”中的JSON URL "assets/data/data.json"传递给第二页home-details.ts

请向我建议我在哪里做错了。

1 个答案:

答案 0 :(得分:0)

进行了以下更改,问题得以解决。

在home.ts中,下面是更新的代码:

start(event: any,item: any) {
this.navCtrl.push(homedetailspage, {
item:'assets/data/data.json'
});
}

在home-details.ts中,以下是更新的代码(从构造函数中删除):

ionViewDidLoad() {
    this.value = this.navParams.get('item');
    console.log("url", this.value);
   
    this.httpClient.get(this.value)
      .subscribe((res: any) => {
        this.fullbodyitems = res;
        },
      error=>{
        console.log(error);
      } );
  }