angularjs - guidelines - Ionic: conserva $ scope cuando navegas a otra vista
ionic guidelines (2)
Debería guardar este tipo de datos en un servicio separado, algo en la línea de esto:
app.service(''NewsService'', [''$http'', function($http){
var newsPromise;
this.getNews = function(){
if(!newsPromise){
newsPromise = $http.get(''news.json'');
}
return newsPromise;
};
}]);
app.controller(''NewsController'', [''$scope'',''NewsService'', function($scope, NewsService){
NewsService.getNews().then(function(data){
$scope.news = data.data;
})
}]);
Estoy desarrollando una aplicación usando Ionic Framework (Angular + Cordova).
La aplicación tiene una sección Noticias con una lista de noticias cargadas de un servidor en JSON, luego pulso una nueva para abrir la Vista de un Nuevo, pero cuando vuelvo a la lista de noticias, $ scope ha sido borrado y debe volver a obtenerse la lista de noticias del servidor.
¿Es este el comportamiento habitual o estoy haciendo algo mal?
¿Cómo podría prevenir este comportamiento?
¡Gracias!
También puede usar $rootScope
. Como mencionó Onosa en los comentarios, cada vez que crea una instancia de un nuevo controlador, se inyecta una nueva variable $scope
, pero $rootScope
(como su nombre lo indica) se conserva durante toda la vida de su aplicación (es global).