无法访问范围数据

时间:2016-03-12 17:57:19

标签: angularjs

我尝试访问控制器中的变量$scope.result,但最后一个输出只显示undefined。在功能内部输出很好。我$scope有什么问题(以为都使用相同的)?

 $scope.result = "";
 theMovieDb.find.getById({"id": "tt0993846", "external_source":"imdb_id"}, function successCallback(data) {
    data = JSON.parse(data);
    console.log(data);
    $scope.result = data.movie_results[0].poster_path;
    console.log(data.movie_results[0].poster_path);
    }, function(error){});
 console.log($scope.result);

1 个答案:

答案 0 :(得分:1)

您必须像这样调用 $ scope。$ apply

$scope.result = "";
 theMovieDb.find.getById({"id": "tt0993846", "external_source":"imdb_id"}, function successCallback(data) {
    data = JSON.parse(data);
    console.log(data);

    $scope.$apply(function () {
        $scope.result = data.movie_results[0].poster_path;
    });

    console.log(data.movie_results[0].poster_path);
    }, function(error){});
 console.log($scope.result);