【发布时间】:2019-07-22 18:11:18
【问题描述】:
我想将项目数据传递到详细信息页面。导航工作正常。但是,如果我想使用字符串插值来输出所选项目,则什么都没有(空输出)。我尝试使用 app-routing.module,但没有奏效。
这是我的代码。
item.html
<ion-title> {{ item.username }} </ion-title>
item.ts
loadedItems: Item[];
item: Item;
...
openRankdet() {
this.router.navigate(['itemdetail/:id'])
}
item.model.ts
export class Item {
constructor(
public id: string,
public username: string,
public imageUrl: string,
public imageUrl2: string,
) {
}
}
项目服务
private _item: Item[] = [ //dummy data
new Item(
'r1',
'Martin',
'assets/7.jpeg',
'assets/two.jpeg',
),
];
...
get item() {
return [...this._item];
}
constructor() { }
getItem(id: string) {
return {...this._item.find(r => r.id === id)};
}
itemdetail.ts
item: Item; //store item data model
constructor() {}
...
ngOnInit() {
this.route.paramMap.subscribe(paramMap => {
if (!paramMap.has('id')) {
this.router.navigate[('item')];
return;
}
this.item = this.itemservice.getItem(paramMap.get('id'));
});
}
app-routing.module.ts
...
{ path: 'itemdetail/:id', loadChildren: './itemdetail/itemdetail.module#ItemdetailPageModule' },
...
【问题讨论】:
-
你能告诉我你的 itemdetail.ts 中
paramMap.get('id')的结构吗 -
您指的是哪一部分?上面的代码就是关于这个问题或主题的全部内容。
标签: angular typescript ionic-framework ionic4