Angularjs 禁用角度工厂对象上的重新加载
我有一个包含大量问题(168个)的测试,所以我使用路由和工厂来创建一个对象,该对象保存测试的所有问题和答案,但我有一个问题,当用户没有点击重新加载时,一切都很好,当用户点击重新加载时,所有问题和答案都会丢失 我用缓存工厂尝试了同样的方法,但在重新加载时对象丢失的情况也是一样 这是我的密码:Angularjs 禁用角度工厂对象上的重新加载,angularjs,routing,factory,Angularjs,Routing,Factory,我有一个包含大量问题(168个)的测试,所以我使用路由和工厂来创建一个对象,该对象保存测试的所有问题和答案,但我有一个问题,当用户没有点击重新加载时,一切都很好,当用户点击重新加载时,所有问题和答案都会丢失 我用缓存工厂尝试了同样的方法,但在重新加载时对象丢失的情况也是一样 这是我的密码: (function(){ var app = angular.module('psicoTestsApp', ['ngRoute']); app.config(['$routeProvide
(function(){
var app = angular.module('psicoTestsApp', ['ngRoute']);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/intro', {
templateUrl: 'partialsKuder/kuderIntro.html',
controller: 'IntroCtrl'
}).
when('/detalles/:paginaId', {
templateUrl: 'partialsKuder/kuderDetail.html',
controller: 'PreguntaDetalleCtrl'
}).
otherwise({
redirectTo: '/intro'
});
}]);
app.factory("appInfo", function(){
return {};
});
app.controller('IntroCtrl', ['$scope', '$http', 'appInfo', function ($scope, $http, appInfo) {
$scope.appInfo = appInfo;
$http.get('preguntas.json').success(function(data) {
$scope.appInfo.preguntas = data;
});
}]);
app.controller('PreguntaDetalleCtrl', ['$scope', '$routeParams', '$http', 'appInfo', function($scope, $routeParams, $http, appInfo) {
$scope.appInfo = appInfo;
$scope.preguntas = $scope.appInfo.preguntas;
$scope.paginaId = parseInt($routeParams.paginaId);
$scope.siguiente = $scope.paginaId + 1;
$scope.pregunta1 = $scope.preguntas[($scope.paginaId * 4) + 0];
$scope.pregunta2 = $scope.preguntas[($scope.paginaId * 4) + 1];
$scope.pregunta3 = $scope.preguntas[($scope.paginaId * 4) + 2];
$scope.pregunta4 = $scope.preguntas[($scope.paginaId * 4) + 3];
}]);
})();
有没有办法让它像饼干一样?这样我就不会在重新加载时丢失de信息了?或者我可以在表单中禁用重新加载吗
谢谢是的,正如PSL所指出的,对于用户点击页面上的“重新加载”,你真的无能为力。这类似于重新启动计算机或重新启动应用程序。如果您以某种方式存储会话信息(ngStorage是一种很好的方法,或者您可以使用会话cookie,或者您可以存储在后端),您就无法在重新加载事件中真正持久保存数据。您可能想看一看,谢谢,ng存储工作异常,所以我尝试了ng cookie,但对于cookie来说,信息太大了,所以我最终改变了一切,每次都转到服务器。