Vue 浏览器本地存储

一、webStorage

1.存储内容大小一般支持5MB左右(不同浏览器可能不一样)。

2.浏览器通过Window.sessionStorageWindow.localStorage属性来实现本地存储机制。

3.相关API:

(1).xxxxStorage.setItem('Key','value'):该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值。

(2).xxxxStorage.getItem('person'):该方法接受一个键名作为参数,返回键名对应的值。

(3).xxxxStorage.removeItem('Key'):该方法接受一个键名作为参数,并把该键名从存储中删除。

(4).xxxxStorage.clear():该方法会清空存储中的所有数据。

4.备注:

(1).sessionStorage存储的内容会随着浏览器窗口关闭而消失。

(2).localStorage存储的内容,需要手动清除才会消失。

(3).xxxxStorage.getItem('xxx')如果对应的value获取不到,那么getItem的返回值是null。

(4).JSON.parse(null)的结果依然是null。

html 复制代码
/* localStorage */
<body>
    <h1>localStorage</h1>
    <button onclick="saveData()">点我存储一个数据</button>
    <button onclick="readData()">点我读取一个数据</button>
    <button onclick="deleteData()">点我删除一个数据</button>
    <button onclick="deleteAllData()">点我清除一个数据</button>

    <script>
        let obj ={name:'张三',age:18}
        function saveData(){
            console.log(1)
            localStorage.setItem('msg','你好')
            localStorage.setItem('msg2','localStorage')
            localStorage.setItem('person',JSON.stringify(obj))
        }
        function readData(){
            console.log(localStorage.getItem('msg'))
            
            console.log(localStorage.getItem('msg2'))
            
            let e = localStorage.getItem('person')
            console.log(JSON.parse(e))
            
        }
        function deleteData(){
            localStorage.removeItem('msg')
        }
        function deleteAllData(){
            localStorage.clear()
        }
    </script>
</body>

/* sessionStorage */
<body>
    <h1>sessionStorage</h1>
    <button onclick="saveData()">点我存储一个数据</button>
    <button onclick="readData()">点我读取一个数据</button>
    <button onclick="deleteData()">点我删除一个数据</button>
    <button onclick="deleteAllData()">点我清除一个数据</button>

    <script>
        let obj ={name:'张三',age:18}
        function saveData(){
            console.log(1)
            sessionStorage.setItem('msg','你好')
            sessionStorage.setItem('msg2','localStorage')
            sessionStorage.setItem('person',JSON.stringify(obj))
        }
        function readData(){
            console.log(sessionStorage.getItem('msg'))
            
            console.log(sessionStorage.getItem('msg2'))
            
            let e = sessionStorage.getItem('person')
            console.log(JSON.parse(e))
            
        }
        function deleteData(){
            sessionStorage.removeItem('msg')
        }
        function deleteAllData(){
            sessionStorage.clear()
        }
    </script>
</body>

二、TodoList_本地存储

利用localStorage.setItem 和 localStorage.getItem的存储和读取机制来动态存储TodoList的数据。通过watch监视todoList数据的变动,每当数组修改,就会用新的数组覆盖掉浏览器本地存储中的旧数组。

....................

data() {

return {

todoList: JSON.parse(localStorage.getItem('todoList')) || []

}

},

....................

watch:{

todoList:{

deep:true,

handler(value){

localStorage.setItem('todoList',JSON.stringify(value))

}

}

}

相关推荐
chilavert3183 分钟前
技术演进中的开发沉思-259 Ajax:浏览器历史管理
javascript·ajax·okhttp·状态模式
南知意-6 分钟前
从零搭建 Live2D 看板娘教程(自建API避墙版)
服务器·前端·vue.js·开源·博客·美化·看板娘
来杯三花豆奶14 分钟前
Vue 2 中 Store (Vuex) 从入门到精通
前端·javascript·vue.js
四瓣纸鹤14 分钟前
从vue2和vue3的区别聊起
vue.js·状态模式
Web打印25 分钟前
HttpPrinter是一款基于HTTP协议的跨平台Web打印解决方案,
javascript·php
少油少盐不要辣32 分钟前
前端如何处理AI模型返回的流数据
前端·javascript·人工智能
跟着珅聪学java35 分钟前
以下是使用JavaScript动态拼接数组内容到HTML的多种方法及示例:
开发语言·前端·javascript
巴拉巴拉~~42 分钟前
KMP 算法通用图表组件:KmpChartWidget 多维度可视化 + PMT 表渲染 + 性能对比
前端·javascript·microsoft
智算菩萨1 小时前
基于spaCy的英文自然语言处理系统:低频词提取与高级文本分析
前端·javascript·easyui
老华带你飞1 小时前
个人网盘管理|基于springboot + vue个人网盘管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端