Pārlūkot izejas kodu

记录localStorage触发更新

kindring 2 gadi atpakaļ
vecāks
revīzija
0bd68de4ee
1 mainītis faili ar 15 papildinājumiem un 0 dzēšanām
  1. 15 0
      js/浏览器Store操作.md

+ 15 - 0
js/浏览器Store操作.md

@@ -0,0 +1,15 @@
+# 浏览器端`localStore`
+> 重写`setItem`函数来实现前端修改存储值事件监听
+```js
+const setItem = localStorage.setItem
+localStorage.setItem = function (name, value){
+setItem.apply(this, arguments)
+var event = new Event('setItem')
+event.key = name
+event.value = value
+window.dispatchEvent(event);
+}
+// 页面使用
+window.addEventListener('setItem', function (e) { document.querySelector('.view').innerText = `${e.key}: ${e.value}`
+})
+```