Я пытаюсь внедрить старую службу angular 1.5 в мой модуль angular 4 в моем гибридном приложении angular 1.5/4.
MyService
использует статический метод, потому что, если я сделаю его общедоступным, у меня не будет возможности инициализировать его с помощью new MyService()
, потому что MyService
ожидает параметр, который я не знаю, как предоставить.
Мой класс (my-service.class.ts)
import {Inject, Injectable} from '@angular/core';
@Injectable()
class MyService {
constructor(
@Inject('myOldService') private myOldService: any) {}
static getMyUrl() {
console.log(this.myOldService);
// complains
// Property 'myOldService' does not exist on type 'typeof MyService
return this.myOldService.getItemUrl();
}
}
export default MyService;
Мой модуль
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
...other import..
import MyService from './my-service.class';
console.log(MyService.getMyUrl())
//has error because getMyUrl has error.
@NgModule({
'imports': [
CommonModule
],
'declarations': [
MyComponent
],
'providers': [
MyService
]
})
export class MyModule {}
В основном я не уверен, как внедрить мой старый сервис в статический метод. Любая помощь? Большое спасибо!