#angular #routing #components
#angular #маршруты #Компоненты
Вопрос:
У меня есть 4 дочерних компонента, из которых 3 имеют ArrayList, каждый из которых содержит несколько подробностей о продукте, таких как марка, модель и цена. Теперь я хочу добавить эти товары в 4-й компонент, т. е. список корзины, используя кнопку добавить перед каждым товаром. Для этого мне нужно использовать маршрутизацию.Названия трех компонентов — мобильный, телевизор, ноутбук.
Вы можете получить полную идею с помощью https://stackblitz.com/edit/angulaar-tvcart-nedabx?file=src/app/cart/cart.component.ts
Заранее спасибо ..!!
Комментарии:
1. Почему вы хотите использовать маршрутизацию (например, с параметром запроса), а не сервис?
2. я использую сервис .. но для этого понадобится маршрутизатор также na??
3. @Wandrille вы можете получить полную идею, открыв эту ссылку .. пока, например, я просто рассматриваю раздел мобильных устройств .. как только это будет сделано, я применю то же самое и к двум другим.
4. чтобы вам было проще понять … мне просто нужно передать данные в AuthService при нажатии кнопки добавить .. и после этого нужно поместить эти данные в ArrayList в AuthService и отобразить их .. но я не могу передать это data..to AuthService.. надеюсь, вы это понимаете..
Ответ №1:
Это немного запутанно, но вы можете расставить точки над этим:
в вашем .html
используйте функцию добавления (c) по щелчку мыши.
<div class="col-4 bg-light ">{{c.brand}}</div>
<div class="col-4 ">{{c.model}}</div>
<div class="col-2 ">{{c.price}}</div>
<button class=" col-1 btn-primary" (click)="add(c)">ADD</button>
в вашем .component.ts
создайте функцию add.
constructor(private cartService : CartService){}
add(product){
this.cartService.add(product)
}
В вашем сервисе cart.service.ts
:
products = [];
add(product){
this.products.push(product);
}
getProducts(){
return this.products
}
и в вашем cart.component.ts
:
products=[];
constructor(private cartService : CartService){}
ngOnInit(){
this.products = this.cartService.getProducts()
}
Комментарии:
1. спасибо.! это сработало с некоторыми изменениями .. но спасибо за идею