Angular中UserData赋值给UserDataList[]类型不匹配报错求助
Angular类型不匹配错误解决方案
问题原因
你将完整的UserData类型响应对象直接赋值给了UserDataList[]类型的users变量,两者类型不匹配导致报错。从模型定义可知,UserData包含IsSuccess、Message和data三个属性,其中只有data字段是你需要的UserDataList[]数组。
修复方法
修改订阅回调中的赋值逻辑,不要直接赋值整个响应对象,而是取其data属性:
this.userService.getAllUsers() .subscribe( (successResponse)=>{ this.users = successResponse.data; // 改为取data属性 }, (errorResponse)=>{ console.log(errorResponse); } )
关于类型声明的补充
你尝试的users: UserData["data"] = []是正确的类型声明方式,之所以依然报错,是因为赋值的对象不对,而非类型声明有误。你也可以继续使用users: UserDataList[] = [],两种声明方式效果一致。
内容的提问来源于stack exchange,提问作者Priyanka Das
相关产品推荐
相关产品推荐

