нужно получить один объект из .query(), сервис:
angular.
module('core.users').
factory('User', ['$resource',
function($resource) {
return $resource('users/users.json', {}, {
query: {
method: 'GET',
isArray: true
}
});
}
]);
компонент:
'use strict';
angular.
module('userDetail').
component('userDetail', {
templateUrl: 'user-detail/user-detail.template.html',
controller: ['$routeParams', 'User', '$filter',
function TaskDetailController ($routeParams, User, $filter) {
var vm = this;
vm.id = parseInt($routeParams["id"], 10);
vm.users = User.query(function() {
vm.user = $filter('currentUser')(vm.users, vm.id);
});
}
],
controllerAs: 'vm'
});
нужно, чтобы получить один объект из массив, «CurrentUser», с $ routeParams ид, проблема - vm.user не определено в области контроллера, здесь
vm.users = User.query(function() {
vm.user = $filter('currentUser')(vm.users, vm.id); // all ok, i got the object
});
console.log(vm.user) // undefined
это нормально для зрения, я могу отобразить свойства, бушель т нужен сделать .Put() запрос на сервер с сольным объектом, когда некоторые из пользователей реквизита изменились ...
ваш console.log находится за пределами Асинхронный request.Please положить его внутрь и увидеть результат получения распечатаны или не –
да, штампованные, но как я могу получить этот объект из запроса? попробуйте много способов, но все еще не можете найти решение ... или просто нужно сделать все операции в этом запросе? – vanless
проверить обновленный ответ –