У меня есть кнопка добавления, на которой я выполняю
onAddProduct(productname,price){
this.purchasedProduct.push(productname);
this.totalAmount += price;
this.matBadgeNumber++;
this.orderInfo=new OrderInfo(this.matBadgeNumber,this.purchasedProduct,this.totalAmount);
this.tooltip = "you have "+ this.matBadgeNumber+ " products in cart";
}
, затем я нажимаю кнопку покупки, которая выполняет
buyNow(){
this.http.orderDetailEmitter.next(this.orderInfo);
}
OrderInfo
export class OrderInfo {
matBadgeNumber: number;
purchasedProduct: String[];
totalAmount : Number;
constructor(matBadgeNumber: number, purchasedProduct: String[],totalAmount : Number ) {
this.matBadgeNumber = matBadgeNumber;
this.purchasedProduct = purchasedProduct;
this.totalAmount = totalAmount;
}
}
HttpClientService
readonly orderDetailEmitter = new ReplaySubject<OrderInfo>(1);
OrderDetailsComponent
export class OrderDetailsComponent implements OnInit {
products;
orderDetails;
constructor(private http : HttpClientService) {
this.orderDetails=this.http.orderDetailEmitter;
console.log("this.orderDetails"+this.orderDetails);
this.products = Object.values(this.orderDetails);
console.log("this.products"+this.products);
}
ngOnInit(): void {
}
}
, но пока я печатаю значение orderDetails, он дает мне Object [объект], после использования Oject.values (this.orderDetails) он дает мне некоторые странные значения
false,,false,false,false,,,,true,1,Infinity,nextInfiniteTimeWindow(value) {
const _events = this._events;
_events.push(value);
if (_events.length > this._bufferSize) {
_events.shift();
}
super.next(value);
}
все, что мне нужно, это получить измененное значение объекта orderInfo через replaysubject