Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.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 2(ng2完成符)-避免组件在服务中注入http依赖项_Http_Angular_Dependency Injection - Fatal编程技术网

angular 2(ng2完成符)-避免组件在服务中注入http依赖项

angular 2(ng2完成符)-避免组件在服务中注入http依赖项,http,angular,dependency-injection,Http,Angular,Dependency Injection,我已经为其编写了自定义数据实现 是否有一种方法可以避免组件中的http注入,并且仅在CustomData中,是否也需要使自定义数据可注入?在CustomData类的顶部添加@injectable(),然后将其添加到@NgModule.providers。然后将CustomData注入组件 @Injectable() class CustomData {} @Component({}) class MyComponent { constructor(private data: CustomD

我已经为其编写了自定义数据实现

是否有一种方法可以避免组件中的http注入,并且仅在CustomData中,是否也需要使自定义数据可注入?

CustomData
类的顶部添加
@injectable()
,然后将其添加到
@NgModule.providers
。然后将
CustomData
注入组件

@Injectable()
class CustomData {}

@Component({})
class MyComponent {
  constructor(private data: CustomData) {}
}

@NgModule({
  providers: [ CustomData ]
})
class SomeModule {}
这将使相同的
CustomData
实例在整个应用程序中可用。如果希望每个组件获得一个新的
CustomData
实例,则将其添加到
@component.providers

@Component({
  providers: [ CustomData ]
})
class MyComponent {
  constructor(private data: CustomData) {}
}
@Injectable()
添加到
CustomData
类的顶部,然后将其添加到
@NgModule.providers
中。然后将
CustomData
注入组件

@Injectable()
class CustomData {}

@Component({})
class MyComponent {
  constructor(private data: CustomData) {}
}

@NgModule({
  providers: [ CustomData ]
})
class SomeModule {}
这将使相同的
CustomData
实例在整个应用程序中可用。如果希望每个组件获得一个新的
CustomData
实例,则将其添加到
@component.providers

@Component({
  providers: [ CustomData ]
})
class MyComponent {
  constructor(private data: CustomData) {}
}

啊,太酷了,我想过了,但在我看来,@injectable只用于服务。我将尝试一下,看看它是否不会弄乱ng2完成器。thx buddy:)啊,很酷,我考虑过了,但在我看来@injectable只用于服务。我将尝试一下,看看它是否不会弄乱ng2完成器。thx伙伴:)