Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angular 8中找不到不同的支持对象“[object object]_Javascript_Html_Angular_Typescript_Angular8 - Fatal编程技术网

Javascript 在Angular 8中找不到不同的支持对象“[object object]

Javascript 在Angular 8中找不到不同的支持对象“[object object],javascript,html,angular,typescript,angular8,Javascript,Html,Angular,Typescript,Angular8,我正在尝试从当前用户的播放列表中获取spotify API 我的控制台中有它,但我试图将其转换为html,但出现以下错误: 错误:找不到不同的支持对象“[object]” 类型为“对象”。NgFor仅支持绑定到Iterables,例如 数组。 在NgForOf.ngDoCheck common.js:4841 在checkAndUpdateDirectiveInline core.js:31913 在checkAndUpdateNodeLineCore.js:44367 在checkAndUpd

我正在尝试从当前用户的播放列表中获取spotify API 我的控制台中有它,但我试图将其转换为html,但出现以下错误:

错误:找不到不同的支持对象“[object]” 类型为“对象”。NgFor仅支持绑定到Iterables,例如 数组。 在NgForOf.ngDoCheck common.js:4841 在checkAndUpdateDirectiveInline core.js:31913 在checkAndUpdateNodeLineCore.js:44367 在checkAndUpdateNode core.js:44306 在debugCheckAndUpdateNode core.js:45328 在debugCheckDirectivesFn core.js:45271 在Object.eval[as updateDirectives]playliscomponent.html:2 在Object.debugUpdateDirectives[作为updateDirectives]core.js:45259 在checkAndUpdateView core.js:44271 在callViewAction core.js:44637

这是我的user.service.ts:

public getUserPlaylists(): Observable<any> {
  const endpoint = environment.spotifyApi.host + "me/playlists";

  const httpOptions = {
    headers: new HttpHeaders({
      Authorization: `Bearer ${this.accessToken}`,
    }),
  };

  return this.http.get(endpoint, httpOptions);
}
这是我的html:

<div class="playlists text-center">
  <div class="test" *ngFor="let playlist of playlists">
    {{playlist.name}}
  </div>
</div>

正如您在日志中清楚地看到的那样,ngFor期望Iterables。只需指定项目,而不是指定完整对象

按照以下方式更新您的方法:

getPlaylists() {
 let observable = this.userService.getUserPlaylists();
 observable.subscribe((data) => {
 this.playlists = data.items;
 console.log(this.playlists);
 });
}

正如您在日志中清楚地看到的那样,ngFor期望Iterables。只需指定项目,而不是指定完整对象

按照以下方式更新您的方法:

getPlaylists() {
 let observable = this.userService.getUserPlaylists();
 observable.subscribe((data) => {
 this.playlists = data.items;
 console.log(this.playlists);
 });
}
我浏览了一遍,在playlist对象中找到了它返回的内容。在外部url节点中,您可以获取所需的播放列表url。然后你可以重复这个。播放列表

我浏览了一遍,在playlist对象中找到了它返回的内容。在外部url节点中,您可以获取所需的播放列表url。然后你可以重复这个。播放列表


对于阵列,请确保播放列表是一个阵列。如果要循环对象,这可能会对您有所帮助。playlists=数据是发生错误的地方。首先检查您从API得到的响应。其中一个属性可能以数组形式包含播放列表。@CodeMind我刚刚添加了我的控制台,打印出我从API获得的内容。您可以看一下吗?对于阵列,请确保播放列表是一个阵列。如果要循环对象,这可能会对您有所帮助。playlists=数据是发生错误的地方。首先检查您从API得到的响应。其中一个属性可能以数组形式包含播放列表。@CodeMind我刚刚添加了我的控制台,打印出我从API获得的内容。你能看一下吗?谢谢它解决了我的问题。但不知怎的,它并没有显示我所有的spotify播放列表…欢迎!!您需要从后端进行调试,您从Spotify获得的响应非常感谢您的帮助,我只是修复了我的后端问题。我希望我能为你的评论投票10次。谢谢你,它解决了我的问题。但不知怎的,它并没有显示我所有的spotify播放列表…欢迎!!您需要从后端进行调试,您从Spotify获得的响应非常感谢您的帮助,我只是修复了我的后端问题。我希望我能为你的评论投10票。
getPlaylists() {
 let observable = this.userService.getUserPlaylists();
 observable.subscribe((data) => {
 this.playlists = data.items;
 console.log(this.playlists);
 });
}
getPlaylists() {
  let observable = this.userService.getUserPlaylists();
  observable.subscribe((res) => {
    this.playlists = res.external_urls;
    console.log(this.playlists);
  });
}