【发布时间】:2019-08-08 04:02:08
【问题描述】:
我不知道为什么会出现此错误。它在 AppComponent.html:4 中
尝试区分“[object Object]”时出错。只允许使用数组和可迭代对象
app.component.html
<h2>Movies</h2>
<ul>
<li *ngFor='let movie of movies'>
<h2>{{movie.title}}</h2>
</li>
</ul>
app.component.ts
import {Component} from '@angular/core';
import {ApiService} from './api.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [ApiService]
})
export class AppComponent {
movies = [{title: 'test'}];
constructor(private api: ApiService) {
this.getMovies();
}
getMovies = () => {
this.api.getAllMovies().subscribe(
data => {
this.movies = data;
},
error1 => {
console.log('error');
}
);
};
}
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import {HttpClientModule} from '@angular/common/http';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
HttpClientModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
这里是服务
import { Injectable } from '@angular/core';
import {HttpClient, HttpHeaders} from '@angular/common/http';
import {Observable} from 'rxjs';
@Injectable({ providedIn: 'root' })
export class ApiService {
baseurl = "http://127.0.0.1:8000"; httpHeader = new HttpHeaders({'Content-Type': 'application/json'});
constructor(private http: HttpClient) {}
getAllMovies(): Observable<any>
{
return this.http.get(this.baseurl + '/movies/', {headers: this.httpHeader});
}
}
你能告诉我我做错了什么吗?
【问题讨论】:
-
api.service.ts
import { Injectable } from '@angular/core'; import {HttpClient, HttpHeaders} from '@angular/common/http'; import {Observable} from 'rxjs'; @Injectable({ providedIn: 'root' }) export class ApiService { baseurl = "http://127.0.0.1:8000"; httpHeader = new HttpHeaders({'Content-Type': 'application/json'}); constructor(private http: HttpClient) {} getAllMovies(): Observable<any>{ return this.http.get(this.baseurl + '/movies/', {headers: this.httpHeader}); } } -
你能在你的getAllMovies订阅中添加
console.log(data)并报告它的结果吗? -
通过显示我的浏览器开发控制台的结果。
-
imgur.com/a/CMrtFI9@alt255
标签: django angular django-rest-framework frontend