我试图通过从角度为5的另一个对象数组中获取一个对象数组。我通过一个服务从我的API后端获取所有产品。我将结果传递给了array类型的属性产品。我想从我得到的结果中检索一个部分。好吧可能无法用文字描述,所以lemme删除代码。
export class HomeComponent implements OnInit {
discountedproducts: Products[];
latestproducts: Products[];
cheapestdeals: Products[];
randomproducts: Products[];
constructor(private productservice: ProductService) {
}
ngOnInit() {
this.productservice.getProductsBydiscount()
.subscribe(res => this.discountedproducts = res);
this.productservice.getProductsByNewest()
.subscribe(res => this.latestproducts = res);
this.productservice.getProductsByPrice()
.subscribe(res => this.cheapestdeals = res);
this.productservice.getProductsByRandom()
.subscribe(res => this.randomproducts = res);
}
}
如果我这样做
let slicedarray = latestproducts.slice(0, 3);
在构造函数中,当我尝试使用ngFor循环显示它时,它不会输出任何内容。我怎么能做得更好?
答案 0 :(得分:1)
您应该在回复.subscribe
时执行此操作,否则您需要将latestproducts
作为主题然后订阅。
this.productservice.getProductsByNewest()
.subscribe(res => {
this.latestproducts = res;
this.slicedArray = res.slice();
}
);
然后在slicedArray
上执行ngFor。