簡單的一個我希望..angularjs - 運行時依賴注入?
這裏有一個plunker作爲參考。
我知道如何在編譯時指定依賴項(請參閱MainCtrlInjected控制器)。但是,如何在運行時拉下依賴關係,並給出該依賴關係的名稱? (見MainCtrlInjectedRuntime控制器)
簡單的一個我希望..angularjs - 運行時依賴注入?
這裏有一個plunker作爲參考。
我知道如何在編譯時指定依賴項(請參閱MainCtrlInjected控制器)。但是,如何在運行時拉下依賴關係,並給出該依賴關係的名稱? (見MainCtrlInjectedRuntime控制器)
您可以使用$噴油器在運行時讓你的價值:
檢查我的分叉plunker:http://plnkr.co/edit/iVblEU?p=preview
代碼:
app.controller('MainCtrlInjectedRuntime', [
'$scope',
'$injector'
($scope, $injector) ->
nameValHandle = 'nameVal'
# !!! This is how you inject at runtime
name = $injector.get(nameValHandle)
$scope.name = name
])
我剛剛進入angularjs,但我相信適當的方式來處理這種情況將注入服務爲MainCtrlInjectedRuntime。注入的服務將有你的somehowGetNameFromValue方法。
你說的沒錯對於那些在編譯知相關性名稱時間,但有時在運行時這會派上用場。我正在使用它的是,在一個指令中,我將一個屬性設置爲「值」依賴項的名稱,以幫助配置該指令。在我的指令中,我動態地解析了依賴關係。 –
嘿,那很簡單,謝謝! –
我看到注入器可以用於注入已知對象,注入器可以爲模塊添加新的依賴關係嗎?如我在動態預加載小部件時,是否可以將其添加到應用程序中,以便應用程序可以顯示它? – Sander