【发布时间】:2015-05-12 02:01:15
【问题描述】:
我是 Angular 的新手,很难理解如何从已解决的承诺中获得价值。我使用了 $q.all([element1.$promise, e2.$promise])。我得到了 element1,它是一个 json 对象。对于 element2,它是一个包含 2.0 的标量。我试过 element[1] 就像 element[0] 但它不包含任何属性,所以我不知道如何获取值。我试过 .val、.data 等。我知道 web api 和 angular 都在 2.0。
resolve: {
accountResource: "accountResource",
account: function(accountResource, $stateParams, $q) {
var info = accountResource.get({ accountId: $stateParams.accountId });
var currentBalance = accountResource.getCurrentBalance({ accountId: $stateParams.accountId });
return $q.all([info.$promise, currentBalance.$promise]);
}
vm.account = account[0];
vm.currentBalance = account[1];
资源功能
function accountResource($resource) {
var webApiUrl = "https://localhost:44301";
return $resource(webApiUrl + '/api/account/:accountId', {}, {
get: {
method: 'GET'
},
query: {
method: 'GET',
isArray: true,
url: webApiUrl + '/api/account/search/:queryMethod/:queryString'
},
getCurrentBalance: {
method: 'GET',
url: webApiUrl + '/api/account/getcurrentbalance/:accountId'
}
});
}
【问题讨论】:
-
与从未解决的承诺中获取值的方式相同。
-
您访问的
account是什么? -
它只是一个值,而不是一个属性,它只是一个参数,不需要
.val它或类似的东西。