在我的案例中如何将服务注入模块?

时间:2017-11-28 00:15:36

标签: angular typescript angular-services angular-module

我正试图在我的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到静态方法。有帮助吗?非常感谢!

0 个答案:

没有答案