最近接触的一个小项目中频繁看到一个新的面孔:

    1. changeTheme () {
    2. dispatch({ type: 'app/switchTheme' })
    3. },
    4. changeOpenKeys (openKeys) {
    5. window.localStorage.setItem(`${prefix}navOpenKeys`, JSON.stringify(openKeys))
    6. dispatch({ type: 'app/handleNavOpenKeys', payload: { navOpenKeys: openKeys } })
    7. },
    8. }
    • localStorage是持久化的本地保存,只要你找不到其所在地没有主动删掉,就会一直存在。就像一些缓存,都把APP删了还有
    • sessionStorage是会话级别的本地保存,比如一个页面关闭的时候该页面设置的sessionStorage数据会自动消失,在不同浏览器窗口不会共享的,即使是同一个浏览器的同一个页面。 ```vue window.localStorage.setItem(key,value);//设置指定key的数据(JSON格式)

    window.localStorage.getItem(key);//获取指定key的数据 window.localStorage.removeItem(key);//删除指定key的数据

    window.localStorage.clear();//清空所有的存储数据

    window.sessionStorage.setItem(key,value);

    window.sessionStorage.getItem(key);

    window.sessionStorage.removeItem(key);

    window.sessionStorage.clear();

    1. <a name="nONFa"></a>
    2. ### localStorage其他注意事项
    3. 一般我们会将[JSON](https://so.csdn.net/so/search?q=JSON&spm=1001.2101.3001.7020)存入localStorage中,但是在localStorage会自动将localStorage转换成为字符串形式<br />这个时候我们可以使用JSON.stringify()这个方法,来将JSON转换成为JSON字符串
    4. ```vue
    5. if(!window.localStorage){
    6. alert("浏览器支持localstorage");
    7. }else{
    8. var storage=window.localStorage;
    9. var data={
    10. name:'taytay',
    11. sex:'woman',
    12. hobby:'program'
    13. };
    14. var d=JSON.stringify(data);
    15. storage.setItem("data",d);
    16. console.log(storage.data);
    17. }

    读取之后要将JSON字符串转换成为JSON对象,使用JSON.parse()方法

    1. var data={
    2. name:'taytay',
    3. sex:'woman',
    4. hobby:'program'
    5. };
    6. var d=JSON.stringify(data);
    7. window.localStorage.setItem("data",d);
    8. //将JSON字符串转换成为JSON对象输出
    9. var json=storage.getItem("data");
    10. var jsonObj=JSON.parse(json);
    11. console.log(typeof jsonObj);