Предоставляемая служба Angular4 не определена в публичной функции - PullRequest
0 голосов
/ 14 марта 2019

У меня есть 2 услуги.Первый сервис - это функция карты в функции http CRUD.Второй сервис - это просто сервис, выполняющий что-то, что было предоставлено в первом сервисе.

Когда я внедряю второй сервис в первый сервис, Inject выглядит как успех, и второй сервис конструктора определен.

Я вызвал функцию в моей первой сервисной функции в функции карты 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);
    }
}

IЯ не уверен, в чем проблема.

Не могли бы вы мне помочь?

1 Ответ

0 голосов
/ 14 марта 2019

орфографическая ошибка при определении класса ...

@ injectable должно быть @ Injectable ()

...