从MeanJS中的AngularJS Promise获取值

时间:2015-01-23 19:26:19

标签: javascript angularjs angular-promise meanjs

我最近和MeanJS一起玩,我遇到了一个我不太熟悉的问题,所以我希望有人可以在这里提供帮助。

我有一个角度控制器,可以像这样设置范围:

// Find existing Topic
$scope.findOne = function() {
    $scope.topic = Topics.get({
        topicId: $stateParams.topicId
    });
};

我设置topic中的$scope。但是,我还需要从topic获得一个值。让我们假设它是createdAt之类的日期。我需要获取此值,然后对其执行另一个操作以设置另一个范围值。问题是,$scope.topic对象是一个Angular承诺。如何从该承诺中获取值createdAt(这是一个日期)?

1 个答案:

答案 0 :(得分:2)

您可以使用promise回调。

$scope.findOne = function() {
    $scope.topic = Topics.get({
        topicId: $stateParams.topicId
    });
    $scope.topic.$promise.then(function(data) {
        // access data.createdAt here
    });
};

它的实际还取决于您想要使用它的位置。因此,如果要在视图中使用它,可以直接写为:

<span> Created at: {{topic.createdAt}}</span>

Angular将在加载数据时自动更新该范围变量。