【发布时间】:2017-09-22 21:56:27
【问题描述】:
我有一个带有 events 服务的 Angular 2 应用程序,该服务有一个 delete 方法:
let EVENTS: TimelineEvent[] = [
{
event: 'foo',
timestamp: 1512205360,
},
{
event: 'bar',
timestamp: 1511208360,
}
];
@Injectable()
export class EventsService {
getEvents(): Promise<TimelineEvent[]> {
return Promise.resolve(EVENTS);
}
deleteEvent(deletedEvent) {
EVENTS = EVENTS.filter((event) => event.timestamp != deletedEvent.timestamp);
}
}
我的主组件显示这些事件,并使用onClick 处理程序来调用服务的deleteEvent 方法:
@Component({
selector: 'my-app',
providers: [EventsService],
template: `
<div>
<event *ngFor="let timelineEvent of events" [timelineEvent]="timelineEvent" [deleteEvent]="deleteEvent"></event>
</div>
`,
})
export class App implements OnInit {
constructor(private eventsService: EventsService) {
}
events
getEvents(): void {
this.eventsService.getEvents().then(events => this.events = events);
}
deleteEvent(event): void {
this.eventsService.deleteEvent(event);
}
ngOnInit(): void {
this.getEvents();
}
}
我可以通过console.logging EVENTS 数组看到它已正确更新。但是显示没有更新。我哪里错了?
【问题讨论】:
标签: javascript angular angular-services