【发布时间】:2018-10-18 17:00:48
【问题描述】:
我正在尝试对我的应用程序中的某些组件和服务进行概括和参数化,以便节省公共部分的时间和代码。
有了组件,我很容易继承成功;但是当尝试对服务进行相同的操作时,我失败了。有人可以帮我看看我的错误吗?
我的 ParentService 它:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import { URL } from '../constants';
@Injectable()
export class GlobalService {
constructor(public http: HttpClient, public name:string='category') {
}
returnData(url){
return this.http.get(url);
}
getList():Observable<any>{
var url = URL+'/'+this.name+'/list';
console.log("-> URL: "+url);
return this.returnData(url);
}
}
我的 SonService 是这样的:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { GlobalService } from './global.service';
@Injectable()
export class ActorService extends GlobalService{
constructor (public http: HttpClient){
super(http, 'actor');
}
}
我在 app.module.ts 中导入了所有内容,并包含了 un providers(第一个是 globalService)。
我在“ng build --prod”中遇到的错误是:
ERROR in : Can't resolve all parameters for GlobalService in myDirectoryPath/global.service.ts: ([object Object], ?).
【问题讨论】:
-
您是否在应用程序的任何位置注入
GlobalService?
标签: angular angular5 angular-services