angular - 角度服务方法不是功能产品构建
问题描述
我尝试让我的 Angular 应用程序在 prod 模式下运行,以检查一切是否正常。
该应用程序使用 swapi API 来获取工作正常的演员,除了在产品构建中,然后我收到以下错误
this.dataService.getActors 不是函数
这是获取所有Actor的方法:
import { Injectable } from '@angular/core';
import { HttpClient, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import { IActor } from '../interfaces/Actor';
import { ErrorService } from './error.service';
/**
* SWAPI Data Service to get all from their API we need
*/
@Injectable()
export class DataService {
/**
* we need the http client here to get API data
*/
constructor(private http: HttpClient, public error: ErrorService) { }
/**
* Method to get all Actors
*/
getActors(): Observable<IActor[]> {
return this.http.get<IActor[]>('//swapi.dev/api/people/')
.map(data => {
return data['results'];
});
}
/**
* Method to get Actor details by their ID
*/
getActorDetails(id: string): Observable<IActor[]> {
return this.http.get<IActor[]>(`//swapi.dev/api/people/` + id + '/')
.map(data => {
return data['results'];
});
}
}
这是我的组件中的调用:
import { Component, OnInit, Input } from '@angular/core';
import { IActor } from '../../interfaces/Actor';
import { HttpClient } from '@angular/common/http';
import { Router } from '@angular/router';
import { DataService } from '../../services/data.service';
@Component({
selector: 'app-actors',
templateUrl: './actors-list.component.html',
styleUrls: ['./actors-list.component.scss']
})
export class ActorsListComponent implements OnInit {
@Input() actors: IActor[];
constructor(private router: Router, private http: HttpClient, private dataService: DataService) { }
ngOnInit(): void {
this.dataService.getActors()
.subscribe((data) => { this.actors = data; });
}
}
以下是检查不正确的全部文件。我在这里想念什么?谢谢!
解决方案
从 DataService中删除providedIn:'root'并添加@Injectable()如下。还将您的 DataService 添加到提供程序数组下的 app.module.ts 中。像,提供者:[ DataService ]
import {}
@Injectable()
export class DataService {
// Your code
}
推荐阅读
- android - android.arch.lifecycle:extensions:1.1.1 目录
- android - 我有一个错误,这是我的错误:确保首先调用 FirebaseApp.initializeApp(Context)
- docker - 所有依赖项都应该安装到 docker 映像吗?或者让它取决于主机
- powershell - PowerShell 在输出 CSV 中包含输入变量
- google-chrome - 无法从“https 服务器”上运行的 chrome pdf 查看器下载文件 PDF
- node.js - 在 Express js 中禁用所有控制台消息
- knockout.js - 从浏览器控制台获取 Knockout.js 的版本?
- json - 从 JSON 返回多个单元格
- sharepoint - 如何使用 Microsoft Flow 在 Sharepoint 的新文件夹中的新 Excel 文件中插入行
- django-allauth - Django 电子邮件验证 - 自定义电子邮件 html & 404 not found accounts/profile/