如何使用localStorage和angularJS编辑表单中的数据

时间:2018-02-06 22:30:31

标签: javascript html angularjs local-storage

我在一个页面上有一个填写表单,在另一个页面上有一个列表,其中有一个编辑按钮。如果我单击编辑按钮,我将被定向到页面,其中包含显示我要编辑的数据的表单。我真的很难接受这个带有选定数据的另一个表单页面。有谁知道如何做到这一点? 的 HTML:

<button class="button" type="button" ng-click="edit()">
            <i class="fa fa-edit"></i>
        </button> 

controller.js

 $scope.edit = function (value) {     
        $location.path('/add-expense');
        expService.editEntry(value);

    };

services.js:

  //attempt to edit the form   
        editEntry: function (value) {
            var oldValue = localStorage.getItem(value.key);
            value.key = oldValue.key;
            localStorage.setItem(value.key, value);
        },

1 个答案:

答案 0 :(得分:0)

如果您真的想将数据存储在浏览器的本地存储中,您可以简单地:

window.localStorage.setItem('key', value);

然后回想起来

var data = window.localStorage.getItem('key')

删除它

window.localStorage.removeItem('key');

虽然我同意本地存储不是保存表单数据的地方。最好通过路由参数传递给新页面,这需要你使用angularjs路由模块,教程:https://docs.angularjs.org/tutorial/step_09

或者,将修改按钮更改为:

<a href="~/expense/{{expense.ID}}">Edit</a>

然后在服务器端,使用ID参数将编辑项目的数据加载到结果视图中。