我正在使用角度工厂将数据从一种形式传递到另一种形式。
工作正常,但是当我刷新页面时,数据从页面中丢失。 我怎么解决这个问题?
我正在使用以下代码
angular.module('app')
.factory('SignupService',function() {
return {
first_name : ''
};
} );
我在form1中分配这样的值。
SignupService.first_name = $scope.first_name ;
在form2中获得这样的价值
function Signup2Ctrl($scope,$http,$location,$auth,$state, SignupService){
alert(SignupService.first_name);
});
如何解决此问题或任何其他替代办法来解决此问题。
提前致谢。
答案 0 :(得分:0)
AngularJS用于构建单页Web应用程序(SPA)。当您重新加载页面时,应用程序进入其初始状态。如果要保留任何数据,则应使用浏览器cookie,本地存储,缓存等。
答案 1 :(得分:0)
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应用程序的加载顺序?在此处阅读更多相关信息:AngularJS app.run() documentation?
您还应该查看$ routeprovider:https://docs.angularjs.org/api/ngRoute/provider/$routeProvider
如果重新加载是应用程序的必要部分,如果使用ngRoute模块,也许您可以创建某种重新加载按钮?