从AngularJS中的回调函数中访问父作用域中的变量

时间:2016-06-05 04:20:52

标签: javascript angularjs

所以,我在AngularJS中有一些看起来像这样的代码,

$scope.loadItems = function($query){
        $http({method: 'GET', url: '/query=' + $query}).then(
        function($response){
            $scope.result = $response['data'];
        }, function($response){$scope.result = [];});
        return $scope.result;
      }

$ scope.loadItems需要分配一个数组变量。我通过在Ajax调用的其中一个回调函数中执行Ajax调用来获取此数组。但是我被迫将我获得的数组设置为$ scope变量的属性,使其可以在我不喜欢的最外层函数的范围内访问,因为它感觉不对(我相信我会开始使用$ scope.result在某个地方没有考虑太多,最终会得到一些非常奇怪的结果)。有什么办法可以将我从成功回调函数中获得的数组传递给最外层的函数吗?

1 个答案:

答案 0 :(得分:0)

你试过了吗?

$scope.loadItems = function($query){
        $scope.result = $http({method: 'GET', url: '/query=' + $query}).then(
        function($response){
            return $response['data'];
        }, function($response){ return [];});
        return $scope.result;
      }

如果这不能让我知道评论,我会删除这个答案。