2017-02-09 136 views
1

所以這裏是我的代碼,我相信你可以理解我想要完成的任何事情,而不需要額外的解釋。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) {} 
} 

我越來越Uncaught Error: Can't resolve all parameters for TodoStore: (?).任何想法,請

+0

你是否需要編寫'@Inject(Dispatcher)private dispatcher:Dispatcher'?僅僅在你的構造函數中使用'private dispatcher:Dispatcher'和'private store:TodoStore'就足夠了嗎? –

+0

是的,我正在嘗試這個'私人商店:TodoStore',它也可以工作,但不能解決當前問題 –

+0

@Inject和其他裝飾器相互重複,因此不需要同時使用它們。上面的代碼應該可以工作。你沒有看到幕後的東西。需要複製這個問題的小提琴/笨蛋。 – estus

回答

-1

這應該工作,這對我的作品。沒有完整的代碼和設置,不可能說出爲什麼它不適用於你的情況。

兩條評論:構造函數拼寫錯誤,@Inject(...)不需要。