localStroage本地储存

本文详细介绍了如何使用LocalStorage进行数据的存储、读取、删除及更新操作,包括登录信息的保存与读取,以及在移动端可能出现的问题。

<!DOCTYPE html>
<html>
<head>
    <title>本地储存</title>
</head>
<body>
    <p>直接写在JS里面了,F12去看吧。</p>
    <script>
        if(window.localStorage){
              console.log(localStorage)
              // 清空
               localStorage.setItem('$user', "");
            console.log(localStorage)

           //要存入的数据,一般登陆成功后从ajax里面取出来的。
            var data={
                name:"执行",
                telphone:"13504567890",
                grade:"初级"
            }
            // 存
            localStorage.setItem("$user",JSON.stringify(data))
            // 取,建议先预备一个为空的条件,防止为null的时候渲染没位置。
            var user = JSON.parse(localStorage.getItem('$user') || '{}');
            console.log(user)
            console.log(user.name)
            // 删
            localStorage.removeItem("BMap_pservice_yzjfk2")
            // 改某个对象下的某个属性,由于没有提供现成的API,这里就有点粗暴了:1.先取出来,2.改某项属性的值,3.存回去
            var user2 = JSON.parse(localStorage.getItem('$user') || '{}');//取出
            user2.name="改名";//修改
            localStorage.setItem("$user",JSON.stringify(user2)) //存入

            console.log(JSON.parse(localStorage.getItem('$user')))//查看,发现更改成功
        }else{
             alert("ie8以下浏览器不支持localstorage,换用cookie吧!");
        }
    </script>
</body>
</html>

值得注意的是:localStorage在移动端平台,基于Vue的一些场景中,并不是万能的,它极有可能失效。如IOS APP按home键退出时,有很大的几率清除掉或者不能读取localStorage.

在 UniApp 中,获取本地存储数据的方式主要依赖于其提供的跨平台 API。虽然 `localStorage` 在 H5 端可以使用,但为了实现多端兼容(如小程序、App),推荐使用 UniApp 提供的同步方法 `uni.getStorageSync()` 来获取数据。 ### 获取本地存储数据的方法 1. **使用 `uni.getStorageSync()`** 该方法可以直接获取通过 `uni.setStorageSync()` 存储的数据,并且支持同步操作,适合大多数场景下的数据读取需求。 ```javascript const userInfo = uni.getStorageSync('userInfo'); console.log(userInfo.name); ``` 2. **异步获取数据:`uni.getStorage()`** 如果需要进行异步操作,可以通过 `uni.getStorage()` 方法来获取数据。需要注意的是,在使用过程中应确保正确处理回调函数中的上下文问题,以避免页面不渲染等问题[^3]。 ```javascript uni.getStorage({ key: 'userInfo', success: function (res) { console.log(res.data.name); // 输出存储的 name 字段 } }); ``` 3. **结合 `localStorage` 的方式(仅限 H5 端)** 虽然 UniApp 推荐使用其内置的 API,但在 H5 端仍然可以使用原生的 `localStorage.getItem()` 方法获取数据。不过这种方式并不推荐用于多端项目,因为它不兼容小程序和 App 平台[^1]。 ```javascript const value = localStorage.getItem('keyName'); console.log(value); ``` 4. **封装工具类辅助获取数据** 可以参考类似外部 JS 文件的方式对 `localStorage` 进行封装,以便更方便地管理历史记录等信息。例如: ```javascript // storage.js function find(key) { return JSON.parse(window.localStorage.getItem(key)); } export { find }; ``` 在实际使用时: ```javascript import { find } from './storage.js'; const searchHistory = find('searchHistory'); console.log(searchHistory); ``` 综上所述,UniApp 中获取本地存储数据的最佳实践是使用 `uni.getStorageSync()` 或 `uni.getStorage()`,这样可以保证代码的兼容性和稳定性。对于特定平台的需求,也可以灵活使用其他方式。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值