2016-10-10 31 views
0

我正在將一個angular1項目從javascript遷移到typescript,並且想要添加到overloaded $injector.get method以包含項目自己的注入類型。我在合併界面上閱讀this typescript doc。我加入導入d.ts文件這樣的:

import TrendDisplayService from 'services/TrendDisplayService'; 
declare namespace angular { 
    export module ng.auto { 
     export interface IInjectorService { 
     get(name: 'trendDisplayService'): TrendDisplayService 
     } 
    } 

} 

但是我做了以下時,我仍然看到了「不可轉讓」類型的錯誤:

let trend:TrendDisplayService = $injector.get('trendDisplayService'); 

有什麼想法?

回答

1

在聲明模塊中應該是auto而不是ng.auto。

declare namespace angular { 
    export module auto { 
     export interface IInjectorService { 
      get(name: 'trendDisplayService'): TrendDisplayService 
     } 
    } 
} 
+0

呃感謝您的糾正。不幸的是,這仍然在我的項目中不起作用,但我強烈懷疑它是由於一些tsconfig問題引起的......如果我將更正後的代碼片段直接放在我正在執行的文件中,應該這樣工作:let trend:TrendDisplayService = $ injector.get( 'trendDisplayService');'?或者這是不允許的? – AndyPerlitch

+0

是的,這將起作用。你可以把它放在你的項目的任何地方。 –

相關問題