Angular4提供的服务在公共功能中未定义

时间:2019-03-14 02:29:01

标签: angular angular-services

我有2个服务。第一项服务是http CRUD功能中的地图功能。第二项服务只是做第一项服务所提供的服务。

当我将第二个服务注入到第一个服务时,注入看起来像是成功的并且构造了第二个服务。

我在http CRUD映射函数中的第一个服务函数中调用了该函数,问题是第二个服务对象中的映射函数为空。

我的消息来源下面

服务等级

@injectable()
export class AService {
    constructor(private bs: BService){
        console.log(this.bs); // that bs variable was defined
    }

    public parser(response: Response){
        this.bs.dosometing(); // that bs variable was undefined
        /* this function is http CRUD map function */
    }
}

B服务等级

@injectable()
export class BService {
    constructor(){

    }

    public dosomting(){
         // do something
    }
}

Http服务类

@injectable()
export class MyHttpServiceClass {
    constructor(private as: AService,private http){

    }

    public httpRequest(): observable<any>{
         return http.get(url)
             .map(this.as.parser)
             .catch(errorchecker);
    }
}

我不确定是什么问题。

能请你帮我吗?

1 个答案:

答案 0 :(得分:0)

定义类时拼写错误...

@injectable 必须为 @Injectable()