1

我使用以下代码获取数据库对象:

// Lookup Project object from server
$scope.project = projectModel.get({}, {'id': session.projectId});
console.log('projectModel', $scope.project);

上面的输出是:

项目模型

我无法真正解释该输出 - 即 {...} 之外的变量是什么?在任何情况下,尝试阅读例如projectModel.name只是返回undefined- 为什么?

4

3 回答 3

2

您进行了异步调用,当您尝试打印到控制台时,您想要的值很可能尚未分配。$scope.project你可以这样分配

projectModel.get({'id': session.projectId}, 
    function (data) {
        $scope.project = data;
});
于 2014-02-12T14:43:45.337 回答
1
projectModel.get({}, { 'id': session.projectId },
    function (successResponse) {
        // success callback
        console.log('successResponse:', successResponse);
    },
    function (errorResponse) {
        // failure callback
        console.log(errorResponse);
    }
);

尝试这个。您将在成功响应中获得承诺值。

于 2014-02-12T14:34:15.930 回答
0

projectModel 与 $scope.project 不同,在 $scope.project 中,您会得到一个已解决的承诺,当它被解决时,您可以使用以下命令访问名称:console.log('$scope.project.name'); 您的资源 - projectModel 可能是一个延迟对象

您可以在此处阅读有关承诺的信息:$q

于 2014-02-12T14:15:07.967 回答