Как получить детализацию в Angular¶
getGood (good_id) {
this.dbQueryService.getDetail('skk_good_public',good_id)
// .first()
.subscribe(resp => {
this.photos = [];
if(resp['skk_good'] && resp['skk_good'].length > 0) {
this.good = resp['skk_good'][0];
if(this.good.file_uuid) this.photos = [this.good];
}
if(resp.skk_good_img && resp.skk_good_img.length > 0) {
resp.skk_good_img.forEach(photo => this.photos.push(photo));
}
this.providers = resp['prv'];
if(this.providers && this.providers.length > 0){
this.provider = this.providers[0];
}
this.char_groups = [];
let attrvals = resp['skk_good_attrval'] || [];
attrvals.forEach((item) => {
let index = this.char_groups.map(x => x.tpl_grp_id).indexOf(item.tpl_grp_id);
if(index == -1) {
let group = new Models.SkkGoodGroupChar();
group.tpl_grp_id = item.tpl_grp_id;
group.tpl_grp_id$ = item.tpl_grp_id$;
group.characters.push(item);
this.char_groups.push(group);
} else {
this.char_groups[index].characters.push(item);
}
})
if(resp['skk_good_rowdsc'] && resp['skk_good_rowdsc'].length > 0) {
this.desc = resp['skk_good_rowdsc'];
}
if(this.photos.length > 0) {
this.selected_photo = this.photos[0];
setTimeout(() => {
this.native1.nativeElement.style.position = 'relative';
this.native1.nativeElement.style.top = '0px';
this.native1.nativeElement.style.height = '100%';
},1000)
}
});
}
Добавим в ngAfterViewInit
ngAfterViewInit () {
this.param_sub = this.route.queryParams.pipe(rxjs.take(1)).subscribe(params => {
// if(!params.id) {
// this.router.navigate(['/pages/skkgoods']);
// return ;
// }
if(params.id) {
this.good_id = params.id;
this.getGood(params.id);
}
});
}