在Angular 2 RC5中共享一个服务实例

时间:2016-08-10 14:52:54

标签: angular typescript

我以前通过在<?xml version='1.0' encoding='UTF-8'?> <ns1:rootElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="some_location" xmlns:ns1="namespace1" xmlns:ns2="namespace2"> <ns1:firstElement>some text</ns1:firstElement> <ns1:secondElement> <ns2:otherElement>some text</ns2:otherElement> ... <ns2:nElement> <ns2:innerElement> <ns2:otherInnerElement>some text</ns2:otherInnerElement> </ns2:innerElement> </ns2:nElement> </ns1:secondElement> </ns1:rootElement> 内将viewInjectors声明为@Component来共享一个服务实例:

@Component({
    selector: 'my-sel',
    viewInjectors: [SharedService],
    templateUrl: 'template.html',
    pipes: [MyPipe]
})

此解决方案在Angular 2 RC5中不再起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:6)

如果要为应用程序或模块共享服务,则需要在引导应用程序或定义模块时声明它。

@NgModule({
  declarations: [
    AppComponent
  ],
  providers: [SharedService], // <----
  bootstrap: [ AppComponent ]
})
export class AppModule { }

providers

请勿忘记从您的组件的docker run hello-world属性中删除该服务...