В типе MyModel отсутствуют следующие свойства из типа Observable <MyModel>: _isScalar, source, operator, lift и еще 6 в Angular. - PullRequest
0 голосов
/ 09 июля 2020

У меня есть эта модель TS:

export interface ResearchContentByCompany {
    companyId: number;
    companyOverview: string;
    industryAnalysis: string;
    qualityAssessment: string;
    financials: string;
    valuations: string;
}

В сервисе это вызов api get, который я делаю для получения данных:

public getResearchSectionContentByCompany(companyId) {
        return this.http.get<ResearchContentByCompany>("../api/contenteditor/getresearchcontentbycompany?companyId=" + companyId, {
            headers: this.headers,
        }).pipe(map(data => {
            return data;
        }));
    }

В компоненте I объявите это:

 researchContentByCompany: Observable<ResearchContentByCompany>;

И в методе ngOnInit я делаю это:

this.contentEditorService.getResearchSectionContentByCompany(this.DataResult.companyId).subscribe(result => {
                                this.researchContentByCompany = result;
                            });

Я могу получить данные, как и ожидалось, от API, но я получаю эту ошибку:

    Type 'ResearchContentByCompany' is missing the following properties from type 
'Observable<ResearchContentByCompany>': _isScalar, source, operator, lift, and 6 more.

Я заметил в вызове get, когда делаю this.researchContentByCompany [0] = result, ошибка исчезла, но данные отсутствуют, так как это не массив, а только один объект со свойствами.

Как исправить эту проблему?

1 Ответ

0 голосов
/ 09 июля 2020

вместо

researchContentByCompany: Observable<ResearchContentByCompany>;

определите его, как показано ниже,

researchContentByCompany: ResearchContentByCompany;

, потому что результатом является только тип объекта ResearchContentByCompany.

...