1
나는 delete
방법이있는 events
서비스와의 각도 2 응용 프로그램이있을 때 업데이트되지 :각도 구성 요소는 서비스 업데이트가
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);
}
}
내 주요 구성 요소가 이러한 이벤트를 표시하고 서비스의 deleteEvent
를 호출하는 onClick
핸들러를 사용하여 방법
@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
배열을 볼 수있다. 그러나 디스플레이는 업데이트되지 않습니다. 내가 어디로 잘못 가고 있니?
여기에 예제 코드 : https://plnkr.co/edit/cENnHeHORnDT50RaTyoI.
감사합니다. 구성 요소의'delete' 메소드에'this.getEvents()'를 추가했지만 이제는 this.getEvents가 함수가 아닙니다 .'라는 에러를 반환합니다. Plunker 코드를 업데이트했습니다. – GluePear
대답을 업데이트했습니다 – Faly
Plunker 업데이트 됨 - 여전히 TypeError가 발생합니다 : _this.getEvents는 함수가 아닙니다. – GluePear