如何从范围中注入依赖项?

时间:2015-12-07 11:45:58

标签: javascript angularjs

我知道可以使用以下元素从元素获取范围:

yourScope = angular.element($(".yourTag")).scope();

但是如果我需要在同一个控制器中注入依赖项,例如:

someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) {
  // ...
}]);

如何从greeter获得$scope依赖关系?这可能吗?

2 个答案:

答案 0 :(得分:5)

您注入的依赖项未分配给任何$scope

在您的控制器中,执行以下操作:

$scope.greeter = greeter;

然后,只要您使用$scope获取.scope()变量,就可以使用$scope.greeter(假设您获得了正确的$scope)。

答案 1 :(得分:1)

您甚至不需要示波器或控制器。

// Get the injectable service myService
var x = angular.element(document.body).injector().get('myService');
x.magic();