通常出现此问题是因为在定义接口时,对某个属性赋值为 Observable 类型,而在实际使用时,该属性的赋值为实际的 Observable 对象。解决方法有两种:
示例代码:
interface User { id: number; name: string; data: any; // 将 data 属性类型改为 any }
const user$: Observable
示例代码:
interface User {
id: number;
name: string;
data: Observable
const user$ = of({ id: 1, name: 'John', data: of({ age: 25 }) // 使用 of() 包装一个 Observable 对象 });
const user: User = {
id: 1,
name: 'John',
data: user$.pipe(
map(res => res.data), // 使用 pipe 串联操作
switchMap(data => data) // 转换 Observable 对象为 any 类型
) as Observable