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

如何在AngularJS之外访问通过routeProvider分配的控制器,angularjs,Angularjs,我有一个基于jquery/flash的麦克风录音插件,我希望能够调用Angle控制器中的函数来进一步处理音频 在ng视图中,我加载一个模板,并通过routeProvider分配要访问的控制器。在这个模板中,我有一个top div元素。我想我可以通过以下操作访问控制器: e = document.getElementById("topElement"); scope = angular.element(e).scope(); 然后在反麦克风回叫中: scope.$apply(function(

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

在ng视图中,我加载一个模板,并通过routeProvider分配要访问的控制器。在这个模板中,我有一个top div元素。我想我可以通过以下操作访问控制器:

e = document.getElementById("topElement");
scope = angular.element(e).scope(); 
然后在反麦克风回叫中:

scope.$apply(function() {
    scope.functionInController(micData);
});
但scope.FunctionInControl未定义。
通过检查scope元素,我可以看到FunctionInControl实际上位于我检索的scope的$$childHead中,但我似乎无法访问它。

将回调更改为:

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

你说得对,谢谢!一直忘记在angular之外调用$apply:)