模板句柄JSON中的AngularJS2

时间:2016-02-13 17:06:57

标签: json typescript angular

我能从模板中处理JSON,与我放入的第二个代码类似吗?。

第一个代码。

使用.json [ ] 并使用.map ()

时效果很好
@Component({
..//
template: `..//
           <li *ngFor="#user of users">
           JSON: {{ user.name }}

          ..//`


  get(){

    this.http.get('lib/sampleResAPI.json')
    .map(res => res.json())
    .subscribe(users => this.users = users);
   ..//
  }

sampleResAPI.json(used [] [ ]

[
{
  "id": 362,
  "name": "test",
..//
}
]

但我收到的答案不是.json中的[]。显示提醒,用户名为alert(this.users.name);,但我无法通过模板处理{{users.name}}获取未定义的属性。

- &GT;找不到第二个代码

@Component({
..//
template: `..//

           JSON: {{ users.name }}

          ..//`


  get(){

    this.http.get('lib/sampleResAPI.json')
    //.map(res => res.json())
    .subscribe(users => this.users = users.json());

    //this.u = JSON.parse(this.users);
    alert(this.users.name);
    ..//
    }

sampleResAPI.json不是 [ ]

{
  "id": 362,
  "name": "test",
..//
}

有一种方法可以处理.json,类似于警告中的user.name,模板中,或者我做错了什么就行了。

2 个答案:

答案 0 :(得分:2)

尝试

JSON: {{ user?.name }}

涵盖user设置之前的时间

答案 1 :(得分:0)

我不确定是否明白这个问题。您能否使用JSON管道运算符向我们提供每个用例的users结果的内容:

@Component({
  ..//
  template: `..//
    JSON: {{ users | json }}
  `
})

users.name应始终返回undefined,因为name是数组中元素的属性而不是数组本身...