Angularjs 保留表单中的数据提交以在其他页面中使用

Angularjs keep data on form submit to use in other page

我在控制器中有一个提交功能,我需要保留在表单中输入的数据,以便在我的网站的另一个页面中显示(我正在使用 ui-router)。

任何人都可以给我一个关于如何做到这一点的提示吗?如何将数据从控制器传递到——不知道是什么,也不知道如何传递——这样我就可以在我的网站的另一个页面中使用这些数据?

难道我必须将数据从控制器传递到路由文件作为参数?如果是这样,我该怎么做?

请注意,在解释时我是 quiAngularjs 的新手。

谢谢!

这里是控制器,如果有帮助的话:

(function () {
    "use strict";

    angular.module('public')
    .controller('RegistrationController', RegistrationController);

    RegistrationController.$inject = ['checkDishService','$scope','$stateParams','$http'];

    function RegistrationController(checkDishService, $scope, $stateParams,$http) {
        var reg = this;     

        reg.submit = function () {        
    /*//The form data:
        $scope.reg.user.firstname,
        $scope.reg.user.lastname,
        $scope.reg.user.email,
        $scope.reg.user.phone,
        $scope.reg.user.dish*/

        };//end of submit

    }
})();

就我个人而言,我使用一种通用服务通过我的应用程序保存数据。在您的服务中,您可以创建许多属性:user、form1、form2。然后你可以通过注入你的常用服务来获取你的数据。

Angularjs 中的服务:https://docs.angularjs.org/guide/services

您可以使用 factory/service 来保存表单的临时数据。您可以像这样使用 getter 和 setter 创建一个工厂:

angular.module('app').factory('tempStorageService',function(){
  var data={};
  return{
    setData:function(tempData){
      data=tempData;
    },
    getData:function(){
      return data;
    }
  }
})

或者您可以使用 $rootScope 将您的值添加到全局范围并跨任何控制器访问这些值