Angular 6-对象属性在某些项目中不会在页面上加载,但在其他项目中却会加载

时间:2019-02-14 02:43:37

标签: angular angular6 frontend

我正在尝试显示商品数量,这是我的商店目录页面中每个包装所包含的每个商品的属性。

<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>

此代码适用于每个页面中的每个程序包。对于其中一个打包页面,代码可以正常工作。

showing item.quantity

包对象在页面加载时显示item.quantity。但是,对于其他页面中的软件包,不会显示item.quantity。

not showing 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进行故障排除,这是一个很好的提示。

0 个答案:

没有答案