繁体   English   中英

Angular2中的共享服务

[英]Shared service in Angular2

我正在尝试为我的应用程序提供共享服务。

import { Injectable } from '@angular/core';

@Injectable()
export class SharedService {
  testService() {
    console.log('share!');
  }
}

然后,将其注入到app.component的提供程序中,但是当我尝试在子组件的构造函数中调用它时,如下所示: constructor(public sharedService: SharedService) {}我遇到了一个错误: Can't resolve all parameters for MyComponent 我还尝试将其注入到我的app.module提供程序中,并且也收到此错误。 我该怎么办? 如何正确注射? 谁能为antire应用程序提供适当的共享服务的示例(它具有多个模块)?

我有路由系统,我想拥有一个共享服务,并从当前代表哪个模块的组件中更改其数据。

我相信您使用的是最新版本,并希望使用单例服务。 为此,您必须在@NgModule({})注册服务,如下所示,

import {Sharedservice} from 'valid path';

@NgModule({
   imports:[BroswerModule],
   ...
   providers:[SharedService]
})

现在,在子组件和父组件中,只需在文件顶部导入Sharedservice即可。

注意:从每个组件中删除providers:[SharedService]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM