Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 刷新后角度工厂数据丢失_Javascript_Angularjs - Fatal编程技术网

Javascript 刷新后角度工厂数据丢失

Javascript 刷新后角度工厂数据丢失,javascript,angularjs,Javascript,Angularjs,我使用angular factory将数据从一个窗体传递到另一个窗体 工作正常,但当我刷新页面时,页面中的数据会丢失。 我如何解决这个问题 我正在使用下面的代码 angular.module('app') .factory('SignupService',function() { return { first_name : '' }; } ); 我在表1中这样赋值 SignupService.first_name

我使用angular factory将数据从一个窗体传递到另一个窗体

工作正常,但当我刷新页面时,页面中的数据会丢失。 我如何解决这个问题

我正在使用下面的代码

angular.module('app')
    .factory('SignupService',function() {
        return {
                first_name : ''
        };
    } );
我在表1中这样赋值

SignupService.first_name = $scope.first_name ; 
在form2中获得这样的价值

function Signup2Ctrl($scope,$http,$location,$auth,$state, SignupService){
    alert(SignupService.first_name);
});
如何解决此问题或处理此问题的任何其他备选方案


提前感谢。

AngularJS用于构建单页web应用程序(SPA)。重新加载页面时,应用程序将进入初始状态。如果要保留任何数据,应使用浏览器cookie、本地存储、缓存等。

AngualrJS的全部思想是不重新加载页面。这使得它更适合于开发本地应用程序,而用户无法按照浏览器提供的方式重新登录页面

有一种方法可以防止在用户点击刷新时重置代码。您需要实现如下内容:

var windowElement = angular.element($window);
windowElement.on('beforeunload', function (event) {
    // do whatever you want in here before the page unloads.        

    // the following line of code will prevent reload or navigating away.
    event.preventDefault();
});
要使用它,只需创建一个.run实例并在那里实现它。你读过AngularJS应用程序的加载顺序吗?请在此处阅读更多信息:

您还应该查看$routeprovider:

如果重新加载是应用程序的必要部分,那么如果使用ngRoute模块,您可能会创建某种重新加载按钮