0

我是 AngularJS 的新手,遇到一个奇怪的问题,我无法访问$scope.name. 在工厂DataService里,我有一个getData()使用 $http.get(...) 的方法。

angular.module("app", []).factory("DataService", function($q, $http) {
    var service = {};
    service.getData = function() {
        var deferred = $q.defer();
        $http.get(apiPath).success(function(data) {
            deferred.resolve(data);
        }).error(function(data, status) {
            deferred.reject('Error: ' + status);
        });
        return deferred.promise;
    };
    return service;
}).controller("DataController", ["$scope", "DataService", function($scope, DataService) {
    $scope.datas = [];
    DataService.getData().then(function(data){
        $scope.datas = data;
    }, function(error) {
        console.log(error);
    });
    console.log($scope.datas); // it returns []
}]);

我不明白为什么它返回一个空数组。

4

0 回答 0