因为数据量比较少想将数据存储到本地JSON文件中进行增删改查
用localStorage本地存储来做 ,把json文件内容用JSON.stringfy转成字符串,用localStorage.setItem(k,v)保存
// 提供一个demo
var storage=window.localStorage;
//写入a字段
storage["a"]=1;
//写入b字段
storage.a=1;
//写入c字段
storage.setItem("c",3);
目标
使用Vue构建一个非常简单CRUD应用程序,以便您更好地了解它的工作方式。
效果页面
比如我们要实现这样列表、新增、编辑三个页面:
列表页面
新增页面
编辑页面
我们把这些用户信息保存到Todos的数组中,然后增删改查就在这个数组上进行:
Todos: [{ Name: "遛狗" }, { Name: "跑步" }]
我们在这里一共要实现TodoList.vue、TodoAdd.vue、TodoEdit.vue三个组件,分别对应列表页面、新增页面、编辑页面的处理
列表功能
首先,在TodoList.vue中提供一个setTodos方法,将需要展示的数据给了数组Todos:
setTodos(arr) { this.Todos = JSON.parse(JSON.stringify(arr));}
然后,在html中使用v-for把Todos数组渲染出来:
{{index+1}} {{item.Name}} 编辑 删除
新增功能
首先,在TodoList.vue中提供一个新增按钮及新增页面组件:
新增
接下来,TodoList.vue中提供addTodo方法,控制TodoAdd页面是否显示:
addTodo() { this.addDialogVisible = true;},
接下来,在TodoAdd.vue中提供一个save和cancel方法,分别调用TodoList.vue中的createTodo和cancel方法:
save() { this.$emit('save', this.selectedItem);},cancel() { this.$emit('cancel');}
最后,我们分别提供createTodo方法,主要使用push方法,把信息添加到Todos数组的最后:
createTodo(item) { this.Todos.push(item); this.setTodos(this.Todos); this.selectedIndex = -1; this.selectedItem = {} this.addDialogVisible = false;},
修改功能
首先,在TodoList.vue中提供一个编辑按钮及编辑页面组件:
编辑
接下来,TodoList.vue中提供editTodo方法,控制TodoEdit页面是否显示:
editTodo(index) { this.selectedIndex = index; this.selectedItem = JSON.parse(JSON.stringify(this.Todos[index])); this.editDialogVisible = true;},
接下来,在TodoEdit.vue中提供一个save和cancel方法,分别调用TodoList.vue中的updateTodo和cancel方法:
save() { this.$emit('save', this.selectedItem);},cancel() { this.$emit('cancel');}
最后,我们分别提供updateTodo方法,更新信息到Todos数组:
updateTodo(item) { this.Todos[this.selectedIndex] = item; this.setTodos(this.Todos); this.selectedIndex = -1;
删除功能
在vue中提供一个deleteTodo方法,删除时,通过splice(index, 1),可以删除index位置的数据,页面上的数据自动就会更新:
deleteTodo(index) { this.Todos.splice(index, 1); this.selectedIndex = -1; this.selectedItem = {}},
文中用到的代码我们放在:https://github.com/zcqiand/miscellaneous/tree/master/vue
想对文件读写js能实现,就你的需求而言,使用本地存储就够了
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
前端操作文件本身就是不合理的,操作文件一般后台去做,所以给你提供了本地存储数据的思路