Skip to content

18 - 实现本地存储函数 #2091

Open
@wuyuan00

Description

@wuyuan00
<script setup lang="ts">
import { ref, watch } from 'vue';
function useLocalStorage(key: string, initialValue: any) {
  const value = ref(
    JSON.parse(localStorage.getItem(key) as any) || initialValue
  );
  localStorage.setItem(key, JSON.stringify(value.value));
  watch(value, (num) => localStorage.setItem(key, JSON.stringify(num)));
  return value;
}
const counter = useLocalStorage('counter', 0);
console.log(counter);
const update = () => counter.value++;
</script>

<template>
  <p>Counter: {{ counter }}</p>
  <button @click="update">Update</button>
</template>

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions