Angular 在subscribe函数中访问对象的单个属性
我有一个工作api,它在查询时返回一个表实体对象数组。这是我的angular应用程序中对应的tableEntityAngular 在subscribe函数中访问对象的单个属性,angular,rxjs,pipe,observable,subscribe,Angular,Rxjs,Pipe,Observable,Subscribe,我有一个工作api,它在查询时返回一个表实体对象数组。这是我的angular应用程序中对应的tableEntity export interface TableEntity { partitionKey: string; rowKey: string; ownerid: string; filetype: string; companyName: string; parentID: string; isdirectory: boolean;
export interface TableEntity {
partitionKey: string;
rowKey: string;
ownerid: string;
filetype: string;
companyName: string;
parentID: string;
isdirectory: boolean;
filesize: Int32Array;
}
在我的angular应用程序中,我使用服务查询此api,这是与api联系并将表实体对象发送到组件的相关代码
getFileStructureData(){
return this.http.get(this.baseUrl + 'list').pipe(
map((user: TableEntity) => {
return user;
})
)
现在,在一个组件中,我可以访问这个对象,当我控制台记录这个对象时,它会返回预期的对象数组
this.TableService.getFileStructureData().subscribe(response => {
console.log(response);
}, error => {
console.log(error);
})
但是当我尝试控制台记录对象的各个属性时
this.TableService.getFileStructureData().subscribe(response => {
console.log(response.companyName);
}, error => {
console.log(error);
})
我在控制台日志中得到未定义的值。如何访问subscribe函数中tableEntity对象的各个属性?非常感谢您的帮助首先,您不需要
pipe()
内置getFileStructureData
,只需执行以下操作即可:
getFileStructureData(){
return this.http.get(this.baseUrl + 'list')
)
您的响应可能是对象和数组,请尝试以下操作:
this.TableService.getFileStructureData().subscribe(response => {
console.log(response[0].companyName);
}, error => {console.log(error);})
您确定没有得到实体数组吗?“它按预期返回对象数组”
map((用户:TableEntity)=>{
将是不正确的,它需要是map((用户:TableEntity[])=>{
或类似的权利?就像在一个用户数组中一样。此外,该映射没有做任何事情,您可以简单地返回这个.http.get(this.baseUrl+'list'))
.array没有.companyName
属性。如果要打印出它的一个属性,可以尝试response.length
。如果要在响应数组中使用第一个TableEntity
的companyName
,可以尝试console.log(response[0].companyName)