2017-08-17 79 views
0

我有如下類型「PersonAddress []」是不能分配給輸入「可觀察<PersonAddress []>」在角2

[ 
    { 
    name: 'ravi', 
    address: [ 
    { 
     street: 'ABC Colony', 
     city: 'Irvine', 
     country: 'US', 
     zip: '12345-1255' 
    } 
    ], 
    phone: '9123456789' 
    } 
]; 

服務響應我需要綁定其中我地址寫如下< .ts文件>

export class PersonCardComponent implements OnInit { 
    @Input() personAddress: Observable<PersonAddress[]>; 

    constructor(private service: PersonService) { } 

    ngOnInit() { 
    this.service.list(null, null, null) 
     .subscribe((res: Person[]) => { 
     this.personAddress= res[0].address; **//Error Line** 
     });  
    } 
} 

注意:我需要使用異步管道。我只需要在this.personAdddress處返回/分配地址數組對象。

  1. 人[] - 模型類

    出口類Person { 名稱:串; address:PersonAddress []; phone:string; }

  2. PersonAddress [] - 模型類

    出口類PersonAddress { 街道:字符串; city:string; 國家:字符串; zip;串; }

+0

你貼和代碼似乎並不匹配 – Sajeetharan

+0

你正在做錯誤到底是什麼錯誤表示,您正在爲類型爲'Observable '的成員分配一個'PersonAddress []'類型的對象'。改爲:this.personAddress = this.service.list(null,null,null).map((res:Person [])=> {res返回res [0] .address爲PersonAddress []; }) ;'。此外,你的問題的標題是錯誤的,它不符合你在身體上描述的同樣的錯誤。 –

+0

不使用數組索引作爲'res [0] .address'的任何替代方法。由於Person數組對象總是有一個項目。 – user1926521

回答

-1

你的問題的標題完全是誤導,總之根據你的代碼,你需要分配一個數組

this.personAddress = this.service.list(null, null, null).map((res: Person[]) => { return res[0].address as PersonAddress[]; }); 
+0

我現在無法編輯該問題。它應該是類型'PersonAddress []'不可分配到類型'Observable '的角度2 – user1926521

+0

不使用數組索引作爲'res [0] .address'的任何替代方法。由於Person數組對象總是有一個項目。 – user1926521

相關問題