从 API 获取数据并将其绑定到 HTML 页面并在 Ionic 6 的模态中使用相同的数据
Fetch data from API bind it to a HTML page and use the same data in the Modal in Ionic 6
我想将数据从 API 传递到模态。这是我采取的步骤:
我得到这样的数据并为其使用服务:
getData() {
this.DataService.getDataList().subscribe(response => {
console.log(response);
this.ListData = response;
})
}
然后我像这样为每个元素绑定此数据:
<ion-row *ngFor="let item of ListData">
对于每个模式,我想显示不同的数据,所以我在 openModal 方法中传递 Listdata,如下所示:
<ion-icon name="analytics-outline" (click)="openModal(ListData)"></ion-icon>
我的 openModal 方法如下所示:
async openModal(ListData) {
const modal = await this.modalController.create({
component: ModalPage,
componentProps: {
"id": ListData.id,
"modalName": ListData.name
}
});
我想在模式中使用相同的数据。我这样使用 NavParams:
ngOnInit() {
console.table(this.navParams);
this.modelId = this.navParams.data.id;
this.modalName = this.navParams.data.modalName;
}
然后我想像这样绑定它:
<ion-title>{{modalName}}</ion-title>
完成所有这些步骤后,我 运行 我的应用程序,但我没有看到数据已传递,我的 chrome 开发人员说 id 和名称未定义。
这是我的 json 对象:
'{"id":"1", "name":"testtitle1", "description":"this is modal 1"}, {"id":"2", "name":"testtitle2", "description":"this is modal 2"}'
我想在点击某个项目时使用模态框内的 ID 和名称。我想将相同的数据以不同方式绑定到例如图表。有人知道为什么我的数据没有显示在模式中吗?
有人能给我指出正确的方向吗?
您传递的是对象数组而不是对象本身。
<ion-icon name="analytics-outline" (click)="openModal(ListData)"></ion-icon>
async openModal(ListData) {
const modal = await this.modalController.create({
component: ModalPage,
componentProps: {
"id": ListData.id,
"modalName": ListData.name
}
});
我想将数据从 API 传递到模态。这是我采取的步骤:
我得到这样的数据并为其使用服务:
getData() {
this.DataService.getDataList().subscribe(response => {
console.log(response);
this.ListData = response;
})
}
然后我像这样为每个元素绑定此数据:
<ion-row *ngFor="let item of ListData">
对于每个模式,我想显示不同的数据,所以我在 openModal 方法中传递 Listdata,如下所示:
<ion-icon name="analytics-outline" (click)="openModal(ListData)"></ion-icon>
我的 openModal 方法如下所示:
async openModal(ListData) {
const modal = await this.modalController.create({
component: ModalPage,
componentProps: {
"id": ListData.id,
"modalName": ListData.name
}
});
我想在模式中使用相同的数据。我这样使用 NavParams:
ngOnInit() {
console.table(this.navParams);
this.modelId = this.navParams.data.id;
this.modalName = this.navParams.data.modalName;
}
然后我想像这样绑定它:
<ion-title>{{modalName}}</ion-title>
完成所有这些步骤后,我 运行 我的应用程序,但我没有看到数据已传递,我的 chrome 开发人员说 id 和名称未定义。
这是我的 json 对象:
'{"id":"1", "name":"testtitle1", "description":"this is modal 1"}, {"id":"2", "name":"testtitle2", "description":"this is modal 2"}'
我想在点击某个项目时使用模态框内的 ID 和名称。我想将相同的数据以不同方式绑定到例如图表。有人知道为什么我的数据没有显示在模式中吗?
有人能给我指出正确的方向吗?
您传递的是对象数组而不是对象本身。
<ion-icon name="analytics-outline" (click)="openModal(ListData)"></ion-icon>
async openModal(ListData) {
const modal = await this.modalController.create({
component: ModalPage,
componentProps: {
"id": ListData.id,
"modalName": ListData.name
}
});