Angular 6 - свойство объекта не загружается на странице для некоторых элементов, но для других - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь показать количество товаров, которое является свойством для каждого товара, которое включено для каждой упаковки на странице каталога моего магазина.

<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 при загрузке страницы.Однако для пакетов на других страницах item.quantity не отображается.

не показывает item.quantity

Объект пакета для рабочих пакетов поступает как: рабочий пакет

, который совпадает с нерабочим пакетом: не рабочий пакет

Странно, что если я вставлю какой-либо другойсвойство вместо количества, оно отображается на всех страницах, например, 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, это было хорошо.

...