我面臨一個問題,並花費了很多時間調試它,但都是徒勞的。我正在嘗試在服務中使用Angular2 Renderer類方法。首先,我把它注射在類的構造函數象下面這樣: -Angular2 - 服務類別中沒有提供者錯誤
@Injectable
export class MyService{
constructor(private renderer: Renderer,
private _cd: ChangeDetectorRef){}
myFunct(){
this.renderer.setElementStyle(......);
}
......
}
有了這個瀏覽器控制檯拋出錯誤堆棧
Error: No provider for Renderer!
at NoProviderError.BaseError [as constructor] (http://local.xyz.com:3000/vendor.bundle.js:30912:34)
at NoProviderError.AbstractProviderError [as constructor] (http://local.xyz.com:3000/vendor.bundle.js:28881:16)
我讀#2幾個答案與此相關的各種問題也thoughtram博客上角DI,並試圖在服務類的構造函數使用@Inject象下面這樣: -
constructor(@Inject(Renderer) renderer : Renderer){}
儘管如此,沒有成功,仍然得到同樣的錯誤。我相信我在這裏錯過了一些技巧。當我在一個組件中使用相同的東西時,它是有效的,我不知道爲什麼在服務類中,它不接受它。
採取看看這個http://stackoverflow.com/questions/34710408/renderer-cannot-be-used-in-service –