我在一个应用程序中使用离子。消耗WS的数据将它们放在我的服务器上。我在我的数据库服务器和我的应用程序中的会话中存储的数据中都进行了UPDATE数据。这个操作是正确的,更新没有问题,但是我想更新整个应用程序中的数据,为此我使用了一个获取和数据初始化的维护者。
.factory('sessionService', ['$http', function($http) {
return {
set: function(key, value) {
return localStorage.setItem(key, JSON.stringify(value));
},
get: function(key) {
return JSON.parse(localStorage.getItem(key));
},
destroy: function(key) {
return localStorage.removeItem(key);
},
};
}])
在显示用户数据的主页中,我执行以下操作:
$scope.user_nombres = sessionService.get('user_nombres') + " " + sessionService.get('user_apellidos');
这很有效。当我更新我的服务器时,我发布了一个URL的帖子,它更新了我的数据库中的数据并返回给我新的数据。我在9月再次使用我的工厂获取数据,最后重定向到家。
sessionService.set("user_nombres", data.UpdateUsuarioResult.nombres);
sessionService.set("user_apellidos", data.UpdateUsuarioResult.apellidos);
$location.path('/app/home');
然而,这个IF更新了我的数据,但是用$ location.path或$ state.go重定向,控制器Home中的数据还没有更新,而且,我导航返回编辑配置文件,我这样做不想。我不想在家,你可以回到上一页。
答案 0 :(得分:0)
尝试在控制器中使用$ watch:
$scope.$watch(function(){
return sessionService.get('user_nombres') + " " + sessionService.get('user_apellidos');
}, function(user_nombres){
$scope.user_nombres = user_nombres;
});