Angular JS 从控制器外部访问范围

mor*_*stu 3 javascript angularjs cordova

所以我刚刚尝试将普通 JS 更改为角度,我想知道如何从另一个 .js 文件访问我的控制器范围。我环顾四周,尝试了几种方法,但没有成功。

我发现了类似的问题,如下所示

AngularJS。如何从控制器组件外部调用控制器函数

AngularJS 从外部 js 函数访问范围

我不想对范围值进行任何更改,而只是使用范围内的函数。关于如何从另一个 .js 文件中的控制器范围调用该函数有什么想法吗?

ale*_*xey 6

你可以这样称呼它:例如html:

<div ng-app>
<div id="outer" ng-controller="MsgCtrl">
    You are {{msg}}
</div>
<div onclick="change()">click me</div>
Run Code Online (Sandbox Code Playgroud)

还有JS:

    function MsgCtrl($scope) 
{
    $scope.msg = "great";
}

function change()
{
    //alert("a");
    var scope = angular.element(document.getElementById('outer')).scope();
    console.log(scope);
    //scope.msg = 'Superhero';
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,您需要通过 ID 来获取,而不是控制器的名称。

小提琴