Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在我的例子中,如何将服务注入模块?_Angular_Typescript_Angular Services_Angular Module - Fatal编程技术网

Angular 在我的例子中,如何将服务注入模块?

Angular 在我的例子中,如何将服务注入模块?,angular,typescript,angular-services,angular-module,Angular,Typescript,Angular Services,Angular Module,我正在尝试将一个旧的angular 1.5服务注入angular 1.5/4混合应用程序中的angular 4模块 MyService使用一个静态方法,因为如果我将其公开,我就无法使用它来初始化 newmyservice()因为MyService需要一个我不知道如何提供的参数 我的类(我的service.class.ts) 我的模块 import { CommonModule } from '@angular/common'; import { NgModule } from '@angular

我正在尝试将一个旧的angular 1.5服务注入angular 1.5/4混合应用程序中的angular 4模块

MyService
使用一个静态方法,因为如果我将其公开,我就无法使用它来初始化
newmyservice()
因为
MyService
需要一个我不知道如何提供的参数

我的类(我的service.class.ts)

我的模块

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 {}

基本上,我不知道如何将我的旧服务转换成静态方法。有什么帮助吗?非常感谢

如果只需要在加载模块时运行代码。将该代码放在模块的构造函数中

您必须将您的服务注入
MyModule

export class MyModule {
     constructor(MyService service) {
         console.log(service.getMyUrl());
     }
}
您还必须从服务中删除
static
。不要对可注入服务使用静态方法

export class MyModule {
     constructor(MyService service) {
         console.log(service.getMyUrl());
     }
}