我正试图在我的1.5 / 4混合动力应用程序中为我的角度4模块注入一个旧的角度1.5服务。
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 {}
基本上我不知道如何将我的旧服务inejct到静态方法。有帮助吗?非常感谢!