我正在尝试显示商品数量,这是我的商店目录页面中每个包装所包含的每个商品的属性。
<div *ngIf="product.package_items">
<ul *ngFor="let item of product.package_items" style="list-style: none">
<li>- {{ item.name }} <b>x {{ item.quantity }}</b></li>
</ul>
</div>
此代码适用于每个页面中的每个程序包。对于其中一个打包页面,代码可以正常工作。
包对象在页面加载时显示item.quantity。但是,对于其他页面中的软件包,不会显示item.quantity。
工作包的包对象按以下方式传入: working package
与无效软件包相同: not working package
奇怪的是,如果我插入其他任何属性而不是数量,它会显示在所有页面上,例如item.price显示在每一页上。由于其他属性显示良好,因此这似乎不是生命周期问题。
更新:因此,总共有4个包裹页面,最初只有1个页面的包裹显示数量,现在是2个页面,包括第一个。实际上,此处给出的示例来自现在可以正常工作的页面。因此,仍然有2个页面无法使用,并且我没有更改任何代码。
附加代码:从.ts文件中(已删除与购物车相关的方法和导入)
@Component({
selector: 'product-tile',
templateUrl: './product-tile.component.html',
styleUrls: ['./product-tile.component.scss'],
animations: [fastFade]
})
export class ProductTileComponent implements OnInit {
@Input('product')
product: Product;
@Input()
projectCart: String;
symbol: '$';
constructor(
private projectService: ProjectService,
private productService: ProductService,
public afs: AngularFirestore,
private router: Router
) {}
ngOnInit() {
this.updateQuantity();
}
}
最终更新: 已解决的问题,毕竟不是Angular问题。只需重置服务器上的数据缓存。值得通过传递JSON进行故障排除,这是一个很好的提示。