所以我目前正在研究离子和角。我使用离子段(艺术家和场地)在单个页面上显示2种不同类型的用户。两个用户的信息按照我想要的方式显示在卡片上。当我点击艺术家的个人资料,它被显示,但当我点击场地用户,它显示的HTML从艺术家没有数据。场地配置文件的id是正确的,只是当它被带到配置文件它不工作的方式我想要的。我觉得问题可能出在应用程序路由上?但我不确定,因为我试过改变它,它仍然不工作。
discover.page.html:
<ion-card
*ngFor="let venue of relevantVenue.slice(1)"
fill="clear"
[routerLink]="['/','tabs','tab1','discover',venue.id]"
>
venue-details:
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();
}
}
tabs-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)
}
]
},
当我点击艺术家配置文件时,它被显示,但是当我点击场地用户,它将显示来自艺术家的HTML没有数据
你能给我们展示一下它的屏幕外观吗?尝试使用ngif来打开/关闭html块,以强制webview动态检索数据。还要从ts文件中执行控制台日志,以确认实际接收到的数据。
路径:"发现/:artistId">
路径:"发现/:venueId">
这些路径都使用相同的父节点(父节点是" discovery "。因此,在路线上存在冲突。当发现-artist时/discover-venue应该没问题。
完成后更改:
[routerLink] ="(‘/’、‘标签’、‘tab1’,‘发现’,venue.id]">
:
[routerLink] ="(‘/’、‘标签’、‘tab1’,‘discover-venue’,venue.id]">
和discovery -artist
相同