加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular:找不到支持对象'[object Object]’

发布时间:2020-12-17 08:03:38 所属栏目:安全 来源:网络整理
导读:我跟随 this tutorial.在从api.github获取用户列表的途中我得到错误: Cannot find a differ supporting object ‘[object Object]’ 我认为它与之相关 ul li *ngFor = "#user of users" {{user | json}} /li /ul 在我的代码中,因为在它之前没有任何错误,
我跟随 this tutorial.在从api.github获取用户列表的途中我得到错误:

Cannot find a differ supporting object ‘[object Object]’

我认为它与之相关

<ul>
 <li *ngFor = "#user of users">
 {{user | json}}
 </li>
 </ul>

在我的代码中,因为在它之前没有任何错误,并且我不确定数据是否来自get请求,只是单击didnt没有给出任何错误,这是我的代码到目前为止

@Component({
selector: 'router',pipes : [],template: `
<div>
<form [ngFormModel] = "searchform">
      <input type = 'text' [ngFormControl]= 'input1'/>
</form>
     <button (click) = "getusers()">Submit</button>
</div>
<div>
<ul>
    <li *ngFor = "#user of users">
    {{user | json}}
    </li>
</ul>
</div>
<router-outlet></router-outlet>
`,directives: [FORM_DIRECTIVES]
})
export class router {
searchform: ControlGroup;
users: Array<Object>[];
input1: AbstractControl;

constructor(public http: Http,fb: FormBuilder) {
    this.searchform = fb.group({
        'input1': ['']
    })
    this.input1 = this.searchform.controls['input1']
}
getusers() {
    this.http.get(`https://api.github.com/
search/users?q=${this.input1.value}`)
        .map(response => response.json())
        .subscribe(
        data => this.users = data,error => console.log(error)
        )
}
}
bootstrap(router,[HTTP_PROVIDERS])
我认为您在响应有效负载中收到的对象不是数组。也许您要迭代的数组包含在属性中。你应该检查收到的数据的结构……

你可以尝试这样的事情:

getusers() {
  this.http.get(`https://api.github.com/search/users?q=${this.input1.value}`)
    .map(response => response.json().items) // <------
    .subscribe(
      data => this.users = data,error => console.log(error)
    );
}

编辑

遵循Github文档(developer.github.com/v3/search/#search-users),响应的格式为:

{
  "total_count": 12,"incomplete_results": false,"items": [
    {
      "login": "mojombo","id": 1,(...)
      "type": "User","score": 105.47857
    }
  ]
}

因此,用户列表包含在items字段中,您应该使用:

getusers() {
  this.http.get(`https://api.github.com/search/users?q=${this.input1.value}`)
    .map(response => response.json().items) // <------
    .subscribe(
      data => this.users = data,error => console.log(error)
    );
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读