저는 Angularjs에 능숙하지만 Angular를 처음 사용하고 서버에 대한 서비스 호출로 내 구성 요소에서 관찰 가능 항목을 채우는 데 문제가 있습니다.
서비스는 괜찮고 내가 원하는 것을 반환하지만 Observable을 채우는 것이 작동하지 않는 것 같습니다.
내 구성 요소는 다음과 같습니다.
import { Component, OnInit } from '@angular/core';
import { Campaigns } from '../campaigns';
import { CampaignListService } from './campaign-list.service'
import { Subscription, Observable } from 'rxjs';
@Component({
selector: 'app-campaign-list',
templateUrl: './campaign-list.component.html',
styleUrls: ['./campaign-list.component.scss']
})
export class CampaignListComponent implements OnInit {
campaigns$: Observable<Campaigns[]>;
subscription: Subscription;
constructor(private campaignListService:CampaignListService) { }
ngOnInit() {
this.campaignListService.getCampaigns().subscribe(campaigns => this.campaigns$ = campaigns);
console.log(this.campaigns$);
}
}
내 서비스는 다음과 같습니다.
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class CampaignListService {
constructor(private _http:Http) { }
getCampaigns(){
return this._http.get('http://example.com/api/campaign')
.map(res => res.json())
}
}
튜토리얼에서 본 것에서 관찰 가능한 캠페인을 콘솔로 기록 할 수 있어야하는 것처럼 보이지만 정의되지 않았습니다.
어떤 통찰력이라도 정말 감사하겠습니다!
라인
this.campaignListService.getCampaigns().subscribe(data => this.campaigns$);
해야한다
this.campaigns$ = this.campaignListService.getCampaigns();
서비스에서를 반환하고 Observable<Campaigns[]>
(반환 값으로 지정하지는 않지만 그래야 함) 해당 Observable을 구성 요소에 저장하려고합니다.
옵저버 블에 의해 생성 된 캠페인 배열을 컴포넌트에 저장하려면 구독하고 수행해야합니다.
this.campaignListService.getCampaigns().subscribe(campaigns => this.campaigns = campaigns);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다