angularjs - 运行时依赖注入?

时间:2012-12-05 13:55:54

标签: angularjs

简单的一个,我希望...

这是一个plunker供参考。

我知道如何在编译时指定依赖项(请参阅MainCtrlInjected控制器)。但是,如何在运行时下拉依赖项,给出该依赖项的名称? (参见MainCtrlInjectedRuntime控制器)

2 个答案:

答案 0 :(得分:16)

您可以使用$ injector在运行时获取值:

检查我的分叉弹药: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
])

答案 1 :(得分:0)

我刚刚进入angularjs,但我相信处理这种情况的适当方法是将服务注入MainCtrlInjectedRuntime。注入的服务将具有您的somehowGetNameFromValue方法。