Angularjs变量在经典函数内

时间:2014-05-20 07:40:25

标签: javascript angularjs angularjs-scope

我遇到了无法找到解决方案的问题。我在网上搜索,但似乎没有太多的信息。

我有一个控制器,我需要填充变量并在javascript的经典函数中访问它。知道我是怎么做的吗?

这是控制器:

moduloMapa.controller('controlIndexMap', function($scope, serverService) {
        var clase = "liga";
        $scope.ligasMap = serverService.getPageLigas(clase).then(function(datos1) {
            $scope.ligasMap = datos1['list'];
        });
    });

这个功能:

<script type="text/javascript">
function testVariable(){
//I NEED $scope.ligasMap in this context.
}
</script>

Ty求助:)

1 个答案:

答案 0 :(得分:0)

您可以在脚本中定义可以从脚本标记/控制器访问的全局变量。

实施例

控制器

function MyCtrl($scope) {
    $scope.test = "Test String";
    testVar = $scope.test

    $scope.run = function(){
        testF();
    }
}

模板

<div ng-app>
  <script type="text/javascript">

      testF = function(){
          console.log(testVar);
      }

  </script>

  <span onclick="testF()">Click me( I am outside the controller accessing data from inside the controller )</span>
  <br /><br /><br />  
  <div ng-controller="MyCtrl">

      <span ng-click="run()">Click me ( I am inside the controller executing a function outside it )</span>

  </div>
</div>

http://jsfiddle.net/6xYrd/1/

然而,我不会像这样设计我的应用程序,这是错误的。但如果你必须,那么这是一种做法。