如何访问通过AngularJS之外的routeProvider分配的控制器

时间:2013-05-03 14:47:11

标签: angularjs

我有一个基于jquery / flash的麦克风录音插件,我希望能够在Angular控制器内调用一个函数来进一步处理音频。

在ng-view中我加载模板并通过routeProvider分配我想要访问的控制器。在这个模板中,我有一个顶级div元素。我以为我可以通过以下方式访问控制器:

e = document.getElementById("topElement");
scope = angular.element(e).scope(); 

然后在de microphone回调电话中:

scope.$apply(function() {
    scope.functionInController(micData);
});

但是未定义scope.functionInController。 通过检查范围元素,我可以看到functionInController实际上存在于我检索的范围的$$ childHead中,但我似乎无法访问它。

1 个答案:

答案 0 :(得分:2)

将您的回调更改为:

scope.$apply(function() {
    scope.$$childHead.functionInController(micData);
});