【发布时间】:2018-07-17 02:35:07
【问题描述】:
我在一个页面上有一个填写表格,在另一个页面上有一个列表,其中有一个编辑按钮。如果我点击编辑按钮,我应该被引导到带有显示我想要编辑的数据的表单的页面。我真的被困在另一个带有选定数据的表单页面上。有谁知道如何做到这一点? 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);
},
【问题讨论】:
-
有数百种方法可以做到这一点,它们都同样有效。 (没有一个正确答案,甚至没有几个最佳答案。)一种选择是将要加载的表单的值存储在 url 中(或本地存储中),并在第二页上检索它,然后加载正确的形式。
-
另一个根本就是根本不加载第二个页面,而是在同一页面上使用 JavaScript 以正确的形式呈现新的“页面”。 (这称为SPA。
-
SPA 听起来不错,但是当我点击编辑时如何用正确的数据渲染新页面呢?
-
取决于您如何设置网站。找到一个为 Angular 编写的优秀 SPA 教程,并尝试遵循它。如果您遇到特定问题,我们可以为您提供帮助;但是Stack Overflow 不具备构建整个站点或制作教程的能力。
标签: javascript html angularjs local-storage