Angular $资源,在函数调用后丢失范围变量

时间:2016-11-07 11:47:17

标签: angularjs angular-resource

        .father {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            justify-content: space-around;
            align-content: flex-start;
        }
        ul{
            display: flex;
            flex-direction: column;
            flex-wrap: nowrap;
            justify-content: space-around;
            align-content: flex-start;
        }

内部资源获取函数它打印出两个对象的数组(这很好) 外部资源打印出来未定义

它看到了stud对象但是当我查询学生参数时它会返回 undefined

你可以看到主要的问题是获得$ scope.students或data.students ouside StudentResouce.get func

2 个答案:

答案 0 :(得分:2)

StudentResource.get

是一个异步调用,这意味着它下面的行甚至可以在Resource GET调用完成之前执行,这就是你的变量在回调之外返回未定义的原因。

要访问通过GET调用获取的数据,您必须在回调本身内查询它。

答案 1 :(得分:0)

这是一个异步调用,所以你可以用这种方式获得结果,我在开始时也有同样的困惑。

StudentResource.get().$promise.then(function (result) {
       $scope.students = result.students;
        console.log($scope.students);
})