я доступ к данным JSON из MongoDB с помощью RESTful API, я построил angularjs фабрики следующим образом:
angular.module('myApp').
factory('usersFactory', function($http, $q){
var deffered = $q.defer();
return {
getUsers: function(){
return $http.get('/api/users/').then(function(result){ deffered.resolve(result); return deffered.promise; });
},
getUser: function(nickname){
return $http.get('/api/users/'+nickname).then(function(result){ deffered.resolve(result); return deffered.promise; });
}
};
}).
controller('MainCtrl', function($scope, usersFactory){
var promise = usersFactory.getUsers();
promise.then(function(response){
//success handler
$scope.users= response.data;
},
function(response){
//error handler
$log.error(response);
});
}).
controller('SecondCtrl', function($scope, usersFactory){
$scope.loadUser = function(){
var promise = usersFactory.getUsers($scope.usersFld);
promise.then(function(response){
//success handler
$scope.user= response.data;
},
function(response){
//error handler
$log.error(response);
});
};
});
Проблемы дисплеев данные для первого пользователя при изменении пользователя он не отображается, пока я не сделаю резкое обновление (с F5), может ли кто-нибудь объяснить, почему это происходит? и данные кэшируются, поэтому мне нужно сделать жесткое обновление, чтобы отобразить новые?
Как вы изменяете данные пользователей? –
Список пользователей - это база данных i, и я показываю пользователям и информацию о пользователе в соответствии с URL-адресом, если URL содержит только '/ users', он будет генерировать $ http-запрос и получает данные, если он содержит'/users/john' на странице будет отображаться информация о john. Проблема, с которой я сталкиваюсь, когда я получаю информацию о нем и нажимаю обратно и выбираю другого пользователя, страница пользователя все еще отображает информацию о нем, пока я не сделаю жесткое обновление. –
Хорошо, как вы управляете своим переходом на URL? Вы используете ui-router или что-то еще? Как отображаются эти два контроллера? –