我有一个$http
请求,它返回用户的对象。
$scope.profile = $http.get('api/users/' + $stateParams.userId).success(function(data) {
console.log(data);
});
我如何实际将user.username分配给$scope.profileUsername
?
从控制台复制......
Object __v: 0 _id: "56a1832a36dc3d0e00c7aa3f" aboutme: "<p>Im the Boss.</p>" additionalProvidersData: Object county: "waterford" created: "2016-01-22T01:17:30.863Z" displayName: "Chris" firstName: "Chris" gender: "male" imageURL: "/modules/users/client/img/profile/saveme-placeholder.png" profileImageURL: "../modules/users/client/img/profile/avatars/2/45.png" provider: "local" roles: Array[2] updated: "2016-02-09T02:55:38.744Z" username: "abcdef" __proto__: Object
答案 0 :(得分:2)
试试这个。
$http.get('api/users/' + $stateParams.userId).success(function(data) {
$scope.profileUsername = data.username;
});
$ http方法的返回值是promises,而不是数据。 这是由于它们的异步性质以及您传递的函数,因为只有在HTTP请求返回后才会执行回调,因此您要对数据执行任何操作,您必须在回调函数中执行此操作。
编辑: 你也可以这样做
$http.get('api/users/' + $stateParams.userId).success(function(data) {
$scope.profile = data;
});
这样你可以将所有数据放在一个变量中,假设你需要全部数据。 在模板中,您只需使用点表示法(profile.username)访问属性。
答案 1 :(得分:0)
应该是
$http.get('api/users/' + $stateParams.userId).success(function(data) {
$scope.profile=data;
});
应该可以在{{profile.username}}