如何在Angular2 bootstrap阶段正确提供通用服务?

时间:2016-06-10 20:33:46

标签: angular angular2-services

我们假设我有一个像

这样的通用服务
@Injectable()
export class NavigationService<T> {
    navigated: EventEmitter<T> = new EventEmitter<T>();
    navigate(view: T) {
        this.navigated.emit(view);
    }
}

我想在我的应用程序引导程序中提供此服务,我该如何解决?我玩了一些并想出了

import { NavigationService } from './navigation.service'; 
import { View } from './view';

bootstrap(AppComponent, [ 
    provide(NavigationService, { useValue: new NavigationService<View>()   ])
    .then(success => console.log('Bootstrap success'))
    .catch(error => console.log(error));

这似乎可以解决问题,但是它应该如何完成?

1 个答案:

答案 0 :(得分:0)

像这样:

  bootstrap(AppComponent, [ NavigationService])