angular - Angular Messenger 服务错误 TS2769:没有重载匹配此调用
问题描述
我正在尝试使用信使服务将产品发送到购物车组件。“产品”只是一个包含产品属性的类,我能够将其记录到购物车组件中的控制台,但是在设置订阅方法时,购物车组件的订阅方法中的“产品:产品”行会导致以下错误消息弹出
src/app/cart/cart.component.ts:31:7 - error TS2769: No overload matches this call.
Overload 1 of 5, '(observer?: NextObserver<unknown> | ErrorObserver<unknown> | CompletionObserver<unknown> | undefined): Subscription', gave the following error...
这是我的信使服务文件:
import { Injectable } from '@angular/core';
import {Subject,Observable} from 'rxjs';
import { Product } from './product';
@Injectable({
providedIn: 'root'
})
export class MessengerService {
subject=new Subject()
constructor() { }
sendMsg(product:any){
console.log(product)
this.subject.next(product)
}
getMsg(){
return this.subject.asObservable()
}
}
这是购物车组件文件:
import { Component, OnInit } from '@angular/core';
import{MessengerService} from 'src/app/messenger.service';
import {Product} from 'src/app/product';
import{CartItem} from 'src/app/cartitem';
import { Observable} from 'rxjs';
@Component({
selector: 'app-cart',
templateUrl: './cart.component.html',
styleUrls: ['./cart.component.css']
})
export class CartComponent implements OnInit {
cartItems:any[]=[
]
cartTotal=0;
constructor(private msg:MessengerService) { }
ngOnInit() {
this.msg.getMsg().subscribe((product: Product) => {
this.addProductToCart(product)
})
}
addProductToCart(product:Product)
{
console.log(product)
this.cartItems.push(
{
productId:product.id,
productName:product.name,
qty:1,
price:product.price
}
)
this.cartTotal=0
this.cartItems.forEach(
item=>{
this.cartTotal+=(item.qty*item.price)
}
)
}
}
解决方案
请添加主题类型。主题=新主题();
推荐阅读
- delphi - 在哪里可以找到从 GetIt Manager 下载的样式
- unity3d - IL2CPP compiled UWP app using Windows System DLLs on ARM
- python - odoo 13 社区版,关于开始日期、结束日期、员工和商店的日期限制
- firebase - Firebase 存储规则是否获得与 Firestore 规则相同的请求对象?
- r - runner:streak_run 在 k 保持不变时显示意外结果
- qt - Qt5 和 CMake:找不到 Quick、QuickControls 模块
- laravel - Laravel 更新后返回旧模型
- javascript - react-native-community/react-native-datetimepicker 不允许我设置日期
- api - 通过查询参数为每个用户嵌入 Power bi 报告
- c++ - Windows SAPI 错误:“GetVersionExA”:已声明已弃用