从 Eventbrite 获取事件的问题 API
Issue getting events from Eventbrite API
我正在使用 angular js 和节点 js 作为后端构建一个学校项目,我正在尝试使用来自 EventBrite 的 Angular JS 在我的前端显示事件,之后花了几个小时检查不同的教程我写了这段代码
节点 JS 代码:
router.get('/', (req, res)=>{
axios.get(`${EventsBriteAPI}`).then(result=>{
let relevantData = result.data.data.events
res.status(200).json(relevantData);
console.log(results );
})
.catch(error => {
res.status(500).send(error);
})
});
我的服务代码:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class EventsService {
uri = 'http://localhost:4600/events';
constructor(private httpClient: HttpClient) {}
getAllEvents(){
return this.httpClient.get(this.uri);
}
}
我的组件代码
import { Component } from '@angular/core';
import { EventsService } from './events.service';
import { Observable } from 'rxjs/internal/Observable';
@Component({
selector: 'events',
templateUrl: 'events.Component.html'
})
export class EventsComponent {
title = "List of events";
eventObservable : Observable<any[]> ;
constructor(service: EventsService){
this.eventObservable = service.getAllEvents();
console.log(this.eventObservable);
}
}
当我在 运行 我的代码中出现这个错误
src/app/component/events/events.component.ts(21,5):错误 TS2322:类型 'Observable' 不可分配给类型 'Observable'。
'Object' 类型可分配给极少数其他类型。您是想改用 'any' 类型吗?
类型 'Object' 缺少类型 'any[]' 的以下属性:length、pop、push、concat 和另外 26 个。它没有在我的前端显示任何内容
你能帮我解决一下吗?
我们不需要使用 Observable
类型变量,除非您使用 async
管道或出于任何特定要求。
你可以像下面那样做,
EventsComponent.ts
eventObservable: any = [];
constructor(private service: EventsService) {
this.service.getAllEvents().subscribe((response: any) =>{
this.eventObservable = response;
console.log(this.eventObservable);
});
}
我们通常使用 ngOnInit()
来调用不在 constructor()
.
中的 api 数据
我正在使用 angular js 和节点 js 作为后端构建一个学校项目,我正在尝试使用来自 EventBrite 的 Angular JS 在我的前端显示事件,之后花了几个小时检查不同的教程我写了这段代码
节点 JS 代码:
router.get('/', (req, res)=>{
axios.get(`${EventsBriteAPI}`).then(result=>{
let relevantData = result.data.data.events
res.status(200).json(relevantData);
console.log(results );
})
.catch(error => {
res.status(500).send(error);
})
});
我的服务代码:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class EventsService {
uri = 'http://localhost:4600/events';
constructor(private httpClient: HttpClient) {}
getAllEvents(){
return this.httpClient.get(this.uri);
}
}
我的组件代码
import { Component } from '@angular/core';
import { EventsService } from './events.service';
import { Observable } from 'rxjs/internal/Observable';
@Component({
selector: 'events',
templateUrl: 'events.Component.html'
})
export class EventsComponent {
title = "List of events";
eventObservable : Observable<any[]> ;
constructor(service: EventsService){
this.eventObservable = service.getAllEvents();
console.log(this.eventObservable);
}
}
当我在 运行 我的代码中出现这个错误 src/app/component/events/events.component.ts(21,5):错误 TS2322:类型 'Observable' 不可分配给类型 'Observable'。 'Object' 类型可分配给极少数其他类型。您是想改用 'any' 类型吗? 类型 'Object' 缺少类型 'any[]' 的以下属性:length、pop、push、concat 和另外 26 个。它没有在我的前端显示任何内容
你能帮我解决一下吗?
我们不需要使用 Observable
类型变量,除非您使用 async
管道或出于任何特定要求。
你可以像下面那样做,
EventsComponent.ts
eventObservable: any = [];
constructor(private service: EventsService) {
this.service.getAllEvents().subscribe((response: any) =>{
this.eventObservable = response;
console.log(this.eventObservable);
});
}
我们通常使用 ngOnInit()
来调用不在 constructor()
.