Я хочу показать улицу человека. Но он не работал с кодом, который у меня есть. Думаю, я делаю это неправильно. (Чтобы получить имя человек работает отлично) JSon файл:Угловая 2: как получить некоторые данные из вложенных объектов json?
{
"id":1,
"name": "someName",
"address":{
"street":"someStreet",
"number":"10"
}
}
сервис прибудет JSON:
public getPerson(id:string):Observable<Person> {
return this.http.get(PersonService.PATH + id + '.json')
.map((res:Response) => res.json());
}
машинописи файл PersonDetail:
@Component({
selector: "person",
template: `
<h3>Detail of {{person.name}}</h3> --> this works
<p>{{person.address.street}}</p> --> this not
`
})
export class PersonDetail {
private person:Person = Person.createEmptyPerson();
private router:Router;
constructor(personService:PersonService, params:RouteParams, router:Router) {
personService.getItem(params.get("id")).subscribe((person:Person) => {
this.person =person;
});
this.router = router;
}
}
лицо:
import {Address} from "./address";
export class Person {
id:number;
name:string;
adress:Address;
constructor(id:number, name:string, adress:Address) {
this.id = id;
this.name = name;
this.adress = adress;
}
public static createEmptyPerson():Person{
return new Person(0, "",null);
}
}
: Адресная
export class Address {
street:string;
number:number;
constructor(street:string, number:number) {
this.street = street;
this.number = number;
}
public static createEmptyAddress():Address {
return new Address("",0);
}
}
Вы уверены, что 'person.address' установлен? –
как это? Должен ли я устанавливать person.address в классе PersonDetail? –
Что отображается при изменении '
{{person.address.street}}
' '' '' '{{person.address}}
'? Это что-то выводит? –