如何使用localstorage将数据发送到另一个html文件(NOT SPA) - angularjs

时间:2018-01-02 11:30:40

标签: javascript arrays angularjs json

我没有使用SPA应用程序,所以如果我点击另一个html文件页面加载,所以我无法捕获数据,我想存储在本地存储。

这是我的控制器文件:

angular
    .module('myApp', [])
    .controller('myController', function($scope, $rootScope) {

        $scope.users = [{
                name: 'sameer',
                age: 21
            },
            {
                name: 'ganesh',
                age: 22
            }
        ]

        $scope.setcontactModal = function(user) {
            $scope.modalcontactData = user;
       }
   });

我的第一个索引页面:

<body ng-controller='myController'>
    <table class="table">
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>Operations</th>
        </tr>
        <tr ng-repeat='user in users'>
            <td>{{user.name}}</td>
            <td>{{user.age}}</td>
            <td> <a href="edit.html" ng-click='setcontactModal(user)'> Apply </a> </td>
        </tr>
    </table>
</body>

我想将这个$ scope.modalcontactData分享到另一个名为edit.html file的文件中:

这是我的另一个名为 edit.html

的html文件
<body ng-controller='myController'>
        <p>hello {{modalcontactData}} </p>
</body>

我试过了:

angular
    .module('myApp', ['ngStorage'])
    .controller('myController', function($scope, $rootScope,$localStorage) {

        $scope.users = [{
            name: 'sameer',
            age: 21
        }, {
            name: 'ganesh',
            age: 22
        }]

        $localStorage.modalcontactData = $scope.modalcontactData;

        $scope.setcontactModal = function(user) {
            $scope.modalcontactData = user;
            console.log('scope:', $scope.modalcontactData);
         }
    });

2 个答案:

答案 0 :(得分:1)

在您的情况下,您可以使用这样的本地存储。

工作演示:https://plnkr.co/edit/84V6v7qkeE62hI1eU0eu

angular
    .module('myApp', ['ngStorage'])
    .controller('myController', function($scope, $rootScope) {
 $scope.modalcontactData=JSON.parse(window.localStorage.getItem("user"))
        $scope.users = [{
            name: 'sameer',
            age: 21
        }, {
            name: 'ganesh',
            age: 22
        }]
      

        $scope.setcontactModal = function(user) {
            $scope.modalcontactData = user;             window.localStorage.setItem("user",JSON.stringify(user));
            console.log('scope:', $scope.modalcontactData);
         }
    });
   
    

答案 1 :(得分:1)

如果您想将数据存储在本地存储中,您可以使用本地存储它是一个非常有用的库,用于以json格式存储和检索数据。

只需将此文件添加到index.html https://github.com/localForage/localForage/blob/master/dist/localforage.js

即可
<script src="js/localforage.js"></script>

现在,您可以使用这些简单的功能轻松地以json格式存储或检索本地存储中的数据。要保存您可以使用的数据 -

localforage.setItem("modelContactData", user);

要检索数据使用 -

localforage.getItem("modelContactData",function(err,data){
     console.log(data);
});