ionic/angular 中显示从同一页面拉取 2 个用户数据的问题
Issue showing data of 2 users being pulled from the same page in ionic/angular
所以我目前正在使用 ionic 和 angular。我使用 ion-segment(艺术家和场地)在单个页面上显示 2 种不同类型的用户。两个用户的信息都按照我想要的方式显示在卡片上。当我单击艺术家个人资料时,它会显示出来,但当我单击场地用户时,它会显示来自艺术家的 HTML,但没有数据。
场地配置文件的 id 是正确的,只是当它被带到配置文件时它没有按照我想要的方式工作。我觉得问题可能出在应用程序路由中?但我不确定,因为我已经尝试更改它,但它仍然无法正常工作。
discover.page.html:
<ion-card
*ngFor="let venue of relevantVenue.slice(1)"
fill="clear"
[routerLink]="['/','tabs','tab1','discover',venue.id]"
>
场地详情:
ngOnInit() {
this.route.paramMap.subscribe(paramMap => {
if (!paramMap.has('venueId')) {
this.navCtrl.navigateBack('/tabs/tab1/discover');
return;
}
this.venueSub = this.venueService
.getVenue(paramMap.get('venueId'))
.subscribe(venue => {
this.loadedVenue = venue;
});
});
}
ngOnDestroy() {
if (this.venueSub) {
this.venueSub.unsubscribe();
}
}
制表符-routing.module.ts:
const routes: Routes = [
{
path: '',
component: TabsPage,
children: [
{
path: 'tab1',
children: [
{
path: '',
loadChildren: () => import('../tab1/tab1.module').then(m => m.Tab1PageModule)
},
{
path: 'discover/:artistId',
loadChildren: () => import('../tab1/discover/artist-details/artist-details.module').then(m => m.ArtistDetailsPageModule)
},
{
path: 'discover/:venueId',
loadChildren: () => import('../tab1/discover/venue-details/venue-details.module').then(m => m.VenueDetailsPageModule)
}
]
},
When I click on the artist profile it's being displayed but when I
click on the venue user it's displaying the HTML from the artist
without the data.
你能给我们看看屏幕上的样子吗?尝试使用 ngif 切换 html 块 on/off 只是为了强制 webview 动态检索数据。还要从您的 ts 文件中记录控制台日志,以确认确实收到了数据。
path: 'discover/:artistId'
path: 'discover/:venueId'
这些路径都使用相同的父路径(父路径是“发现”)。
因此在路由中存在冲突。当它是 discover-artist / discover-venue 它应该工作得很好。
完成后更改:
[routerLink]="['/','tabs','tab1','discover',venue.id]"
收件人:
[routerLink]="['/','tabs','tab1','discover-venue',venue.id]"
发现艺术家也一样
所以我目前正在使用 ionic 和 angular。我使用 ion-segment(艺术家和场地)在单个页面上显示 2 种不同类型的用户。两个用户的信息都按照我想要的方式显示在卡片上。当我单击艺术家个人资料时,它会显示出来,但当我单击场地用户时,它会显示来自艺术家的 HTML,但没有数据。 场地配置文件的 id 是正确的,只是当它被带到配置文件时它没有按照我想要的方式工作。我觉得问题可能出在应用程序路由中?但我不确定,因为我已经尝试更改它,但它仍然无法正常工作。
discover.page.html:
<ion-card
*ngFor="let venue of relevantVenue.slice(1)"
fill="clear"
[routerLink]="['/','tabs','tab1','discover',venue.id]"
>
场地详情:
ngOnInit() {
this.route.paramMap.subscribe(paramMap => {
if (!paramMap.has('venueId')) {
this.navCtrl.navigateBack('/tabs/tab1/discover');
return;
}
this.venueSub = this.venueService
.getVenue(paramMap.get('venueId'))
.subscribe(venue => {
this.loadedVenue = venue;
});
});
}
ngOnDestroy() {
if (this.venueSub) {
this.venueSub.unsubscribe();
}
}
制表符-routing.module.ts:
const routes: Routes = [
{
path: '',
component: TabsPage,
children: [
{
path: 'tab1',
children: [
{
path: '',
loadChildren: () => import('../tab1/tab1.module').then(m => m.Tab1PageModule)
},
{
path: 'discover/:artistId',
loadChildren: () => import('../tab1/discover/artist-details/artist-details.module').then(m => m.ArtistDetailsPageModule)
},
{
path: 'discover/:venueId',
loadChildren: () => import('../tab1/discover/venue-details/venue-details.module').then(m => m.VenueDetailsPageModule)
}
]
},
When I click on the artist profile it's being displayed but when I click on the venue user it's displaying the HTML from the artist without the data.
你能给我们看看屏幕上的样子吗?尝试使用 ngif 切换 html 块 on/off 只是为了强制 webview 动态检索数据。还要从您的 ts 文件中记录控制台日志,以确认确实收到了数据。
path: 'discover/:artistId'
path: 'discover/:venueId'
这些路径都使用相同的父路径(父路径是“发现”)。 因此在路由中存在冲突。当它是 discover-artist / discover-venue 它应该工作得很好。
完成后更改:
[routerLink]="['/','tabs','tab1','discover',venue.id]"
收件人:
[routerLink]="['/','tabs','tab1','discover-venue',venue.id]"
发现艺术家也一样