(vue操作storage)Vue plugin for work with local storage,session storage and memo

vue-ls

https://www.npmjs.com/package/vue-ls

NPM

npm install vue-ls --save

Yarn

yarn add vue-ls

Usage

Vue storage API.

import Storage from 'vue-ls';
 
options = {
  namespace: 'vuejs__', // key prefix
  name: 'ls', // name variable Vue.[ls] or this.[$ls],
  storage: 'local', // storage name session, local, memory
};
 
Vue.use(Storage, options);
 
//or
//Vue.use(Storage);
 
new Vue({
    el: '#app',
    mounted: function() {
        Vue.ls.set('foo', 'boo');
        //Set expire for item
        Vue.ls.set('foo', 'boo', 60 * 60 * 1000); //expiry 1 hour
        Vue.ls.get('foo');
        Vue.ls.get('boo', 10); //if not set boo returned default 10
        
        let callback = (val, oldVal, uri) => {
          console.log('localStorage change', val);
        } 
        
        Vue.ls.on('foo', callback) //watch change foo key and triggered callback
        Vue.ls.off('foo', callback) //unwatch
        
        Vue.ls.remove('foo');
    }
});

Global

Vue.ls

Context

this.$ls

API

Vue.ls.get(name, def)

Returns value under name in storage. Internally parses the value from JSON before returning it.

def: default null, returned if not set name.

Vue.ls.set(name, value, expire)

Persists value under name in storage. Internally converts the value to JSON.

expire: default null, life time in milliseconds name

Vue.ls.remove(name)

Removes name from storage. Returns true if the property was successfully deleted, and false otherwise.

Vue.ls.clear()

Clears storage.

Vue.ls.on(name, callback)

Listen for changes persisted against name on other tabs. Triggers callback when a change occurs, passing the following arguments.

newValue: the current value for name in storage, parsed from the persisted JSON
oldValue: the old value for name in storage, parsed from the persisted JSON
url: the url for the tab where the modification came from

Vue.ls.off(name, callback)

Removes a listener previously attached with Vue.ls.on(name, callback).
posted @   未月廿三  阅读(369)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示