Angularjs将表单上的数据保存在其他页面中

时间:2017-08-02 10:12:30

标签: angularjs angular-ui-router angularjs-scope angular-promise

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

任何人都可以给我一个提示,告诉我该怎么做?如何从控制器传递数据 - 不知道什么,不知道怎么做 - 我可以在我的网页的另一页中使用数据?

我是否必须将控制器中的数据作为参数传递给路径文件?如果是这样,我该怎么办?

请注意,在解释时我对Angularjs很陌生。

谢谢!

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

(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

    }
})();

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您可以使用工厂/服务来保存表单的临时数据。您可以使用这样的getter和setter创建工厂:

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

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