Vuex 中localStorage的使用 原
时间:2022-06-19
本文章向大家介绍Vuex 中localStorage的使用
原,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、首先新建一个js文件,如:localstorage.js 通过setItem 和getItem设置和获取数据
const key = "addkey"
var storageObjece = {
set: function(items) {
localStorage.setItem(key, JSON.stringify(items))
},
get: function() {
var val = localStorage.getItem(key) || '[]';
val = JSON.parse(val);
return val
}
}
export default storageObjece
setItem设置键值只能是字符串形式,JSON.stringify(items)
getItem获取时再通过JSON.parse()转换成对象
2、设置存储数据
在页面中引用localstorage.js
import storage from "../assets/js/localstorage.js"
同时通过watch监听数据的变化,并在handler方法中存储items storage.set(items)
<script>
import storage from "../assets/js/localstorage.js"
//console.log(storage)
export default {
data() {
return {
value: "",
id: 0,
textvalue: "",
editId: 0,
}
},
watch:{
items:{
handler:function(items){
//console.log(val,oldVal)
storage.set(items)
},
deep:true //也检测items内部的key的变化
}
},
methods: {
addItem() {
let item = { value: this.value, id: ++this.id }
this.$store.dispatch("addItems", item)
},
del(index) {
this.$store.dispatch("delItem", index)
},
edit(index) {
//alert(index)
this.editId = index
//alert(this.editId)
//下面的computed是获取store里面的items,items也可以用在方法中,要this.items
$("#editBox").modal()
this.textvalue = this.items[index].value
},
save() {
// alert(this.editId)
// alert(this.beforevalue)
//this.items[this.editId].value=this.textvalue
// alert(this.items[this.editId].value)
this.$store.dispatch("saveItem", {
editId: this.editId,
textvalue: this.textvalue
})
}
},
computed: {
items: function() {
return this.$store.state.items
}
}
}
</script>
3、获取存储数据
采用Vuex开发模式,获取localStorage数据,同样需要引入localstorage.js,并在store的state中设置
items:storage.get()
import Vue from 'vue'
import Vuex from "vuex"
import storage from "../assets/js/localstorage.js"
Vue.use(Vuex)
//import Index from '@/views/index/index'
//import Manage from '@/views/manage/index'
//import OtherRouter from '../views/index/otherrouter'
const store = new Vuex.Store({
state: {
items: storage.get()
// [
// // { value: "default", id: 0 }
// ],
},
mutations: {
addItems(state, item) {
state.items.push(item)
},
delItem(state,index){
state.items.splice(index,1)
},
saveItem(state,payload){
//alert("hi")
state.items[payload.editId].value=payload.textvalue
}
},
actions: {
addItems(context, item) {
context.commit("addItems", item)
},
delItem(context,index){
context.commit("delItem", index)
},
saveItem(context,payload){
context.commit("saveItem", payload)
},
}
});
export default store
(adsbygoogle = window.adsbygoogle || []).push({});
- S3上传代码用例-golang
- jsp-------------之分页技术(一)
- ------------数据库的加锁操作(上)
- 对象存储基础概念
- 关于byte[]字节传输的大端和小端小议
- hdu 2818 Building Block
- hdu 3074 Zjnu Stadium (带权并查集)
- 线程练习题---简易多人聊天室
- Servlet的尾(yi)巴---filter ( 过滤器 )的小应用
- ijg库的使用的几点注意
- C++获取鼠标位置及全局检测鼠标行为
- C/C++ http协议加载sessionID
- 两个月入门深度学习,全靠动手实践!一位前端小哥的经验分享
- 服务器端Go程序对长短链接的处理及运行参数的保存
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 深度阅读之《Concurrency in Go》
- 为了不让代码看起来像一坨* 我在工作中反复用了这个
- 在 Go 语言中 Patch 非导出函数
- SpringCloud 配置中心服务端配置解析流程分析
- Qt多线程编程之线程池
- PWN:Tcache Attack原理
- [Go]GO语言实战-GO-FLY在线客服cobra库命令行参数解析
- [Go]GO语言实战-GO-FLY在线客服gorm导入sql文件
- Day7.数据类型-集合
- 详解一条查询select语句和更新update语句的执行流程
- JSP 开发环境搭建与项目运行(二)
- Activity启动时生命周期汇总
- 「程序员」Flutter:从网络获取数据遇到的坑
- 程序员:拿到新电脑如何配置Git环境
- What?数据量巨大还不分库分表?JDBC 入门与项目实战