2017-02-09 9 views
1

私のコードはここにありますので、私はあなたが私が何を追加の説明なしで達成しようとしているのか理解できますと信じています。私はUncaught Error: Can't resolve all parameters for TodoStore: (?).任意のアイデアを取得していますAngular2:サービスにサービスを注入できません

@Injectable() 
export class Dispatcher { 
} 

@Injectable() 
export class TodoStore { 

    constructor(@Inject(Dispatcher) private dispatcher:Dispatcher){ 

    } 
} 

@Component({ 
    ... 
     providers:[TodoStore,Dispatcher] 
} 
export class MyComponent{ 
    costructor(@Inject(TodoStore) private store:TodoStore) {} 
} 

、してください

+0

'@Inject(Dispatcher)private dispatcher:Dispatcher'と書く必要がありますか? 'private dispatcher:Dispatcher'と' private store:TodoStore'をあなたのコンストラクタに使うだけで十分ではないでしょうか? –

+0

ええ、私はこの「プライベートストア:TodoStore」を試していましたが、現在の問題を解決していません。 –

+0

@Injectと他のデコレータは複製されているので、両方を使う必要はありません。上記のコードはうまくいくはずです。あなたが見せていない場面の裏に何かがあります。問題を再現できるフィディー/プランクが必要です。 – estus

答えて

-1

これは動作するはずです、そして、それは私のために動作します。完全なコードと設定がなくても、なぜあなたのケースではうまくいかないのかを言うことはできません。

2つのコメント:コンストラクタのスペルが間違っていて、@Inject(...)が不要です。

関連する問題