iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue 插件及浏览器本地存储
  • 302
分享到

Vue 插件及浏览器本地存储

2024-04-02 19:04:59 302人浏览 独家记忆
摘要

目录插件localstorageSessionStorage总结TodoList 改为本地存储插件 功能:插件通常用来为 Vue 添加全局功能 本质:包含 install 方法的一个

插件

功能:插件通常用来为 Vue 添加全局功能

本质:包含 install 方法的一个对象,install 的第一个参数是 Vue,第二个以后的参数是插件使用者传递的数据

定义插件:vue官网是这样描述的:vue.js 的插件应该暴露一个 install 方法。这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象

对象.install = function(Vue,options){
	//1.添加全局过滤器
	vue.filter(...)
	//2.添加全局指令
	Vue.directive(...)
	//3.配置全局混入(合)
	Vue.mixin(...)
	//4.添加实例方法
	Vue.prototype.$myMethod = function(){}
	Vue.prototype.$myProperty = xxx
}

使用插件:Vue.use()

我们着手写一个插件,跟 main.js 同级,新增一个 plugins.js

//完整写法

//简写
export default {
    install(Vue,x,y) {
        console.log(x,y)
        //全局过滤器
        Vue.filter('mySlice', function (value) {
            return value.slice(0, 4)
        })
        //定义全局指令
        Vue.directive('fbind', {
            bind(element, binding) {
                element.value = binding.value
            },
            inserted(element, binding) {
                element.focus()
            },
            update(element, binding) {
                element.value = binding.value
            }
        })
        //定义混入
        Vue.mixin({
            data() {
                return {
                    x: 100,
                    y: 200
                }
            }
        })
        //给Vue原型上添加一个方法(vm和vc就都能用了)
        Vue.prototype.hello = ()=>{alert("hello")}
    }
}

然后在 main.js 中使用插件

//引入Vue
import Vue from 'vue';
//引入App
import App from './App';
//引入插件
import plugins from "@/plugins";
//关闭vue的生产提示
Vue.config.productionTip = false
//使用插件
//Vue.use(plugins)
//使用插件 并传参数
Vue.use(plugins,1,2)
//创建vm
new Vue({
    el: "#app",
    render: h => h(App)
})

在 Student.vue 中测试

<template>
  <div>
    <h2>学生姓名:{{ name|mySlice }}</h2>
    <h2>学生性别:{{ sex }}</h2>
    <input type="text" v-fbind:value="name">


    <button @click="test">点我测试 hello 方法</button>
  </div>
</template>
<script>
export default {
  name: "Student",
  data() {
    return {
      name: "张三12345",
      sex: "男",
    }
  },
  methods: {
    test() {
      this.hello()
    }
  }
}
</script>
<style scoped>
</style>

localstorage

本地存储就是把数据存储到浏览器中,浏览器的关闭不会影响数据的保存。

我们通过下面的例子来展示一下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浏览器本地存储</title>
</head>
<body>
<div id="root">
    <button onclick="saveData()">点我保存一个数据</button>
    <button onclick="readData()">点我读取一个数据</button>
    <button onclick="deleteData()">点我删除一个数据</button>
    <button onclick="deleteAllData()">点我清空数据</button>
</div>
<script type="text/javascript">
    let person = {name:"张三",age:"18"}
    function saveData() {
        localStorage.setItem("msg","hello")
        localStorage.setItem("msg2",666)
        localStorage.setItem("msg3",JSON.stringify(person))
    }
    function readData(){
        console.log(localStorage.getItem("msg"))
        console.log(localStorage.getItem("msg2"))

        const result = localStorage.getItem("msg3")
        console.log(result)
        console.log(JSON.parse(result))
    }
    function deleteData(){
        localStorage.removeItem("msg")
    }
    function deleteAllData(){
        localStorage.clear()
    }
</script>
</body>
</html>

SessionStorage

和 LocalStorage 用法相同,把上边代码中的 localStorage改为sessionStorage

总结

LocalStorage 和 SessionStorage 统称为 WEBStorage

  • 1.存储内容大小一般支持5MB左右(不同浏览器可能还不一样)
  • ⒉浏览器端通过 Window.sessionStorage 和Window.localStorage属性来实现本地存储机制
  • 3.相关api

①.xxxxxStorage.setItem( " key' , "value"); 该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值

②.xxxxxStorage.getItem( "person"); 该方法接受一个键名作为参数,返回健名对应的值

③.xxxxxStorage.removeItem( "key"); 该方法接受一个键名作为参数,并把该键名从存储中删除

④.xxxxxStorage.clear() 该方法会清空存储中的所有数据

4.备注:

①.SessionStorage 存储的内容会随着浏览器窗口关闭而消失

②.LocalStorage 存储的内容,需要手动清除才会消失(调用api 或 清空缓存

③. xxxxStorage.getItem(xxx),如果 xxx 对应的 value 获取不到,那么 getltem 的返回值是null ④.JSON.parse(null) 的结果依然是 null

TodoList 改为本地存储

我们之前写的 TodoList 案例数据是写死的,每次刷新都恢复到写死的数据,我们现在把它改为本地存储。修改 App.vue,把 todos 改为深度监视,每当 todos 发生变化就使用本地存储存储数据。同时初始化的时候,todos 赋值是从本地存储读取的

......
<script>
......
export default {
  ......
  data() {
    return {
      //读取本地存储
      todos: JSON.parse(localStorage.getItem("todos")) || []
    }
  },
  methods: {
    ......
  },
  watch:{
    //深度监视
    todos:{
      deep:true,
      handler(value){
        localStorage.setItem("todos",JSON.stringify(value))
      }
    }
  }
}
</script>
......

运行程序,输入数据,刷新浏览器,数据不会消失

到此这篇关于Vue 插件及浏览器本地存储的文章就介绍到这了,更多相关Vue 插件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue 插件及浏览器本地存储

本文链接: https://www.lsjlt.com/news/149881.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue 插件及浏览器本地存储
    目录插件localstorageSessionStorage总结TodoList 改为本地存储插件 功能:插件通常用来为 Vue 添加全局功能 本质:包含 install 方法的一个...
    99+
    2024-04-02
  • Vue 浏览器本地存储的问题小结
    目录localstorageSessionStorage总结TodoList 改为本地存储localstorage <!DOCTYPE html> <html la...
    99+
    2024-04-02
  • Javascript怎么实现浏览器本地存储
    今天小编给大家分享一下Javascript怎么实现浏览器本地存储的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2024-04-02
  • jQuery访问浏览器本地存储cookie、localStorage和sessionStorage怎么用
    这篇文章主要介绍jQuery访问浏览器本地存储cookie、localStorage和sessionStorage怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、cookie...
    99+
    2024-04-02
  • 详解JS浏览器储存
    目录引言CookieCookie是什么Cookie生成方式Cookie的应用场景Cookie的缺点解决方法LocalStorage特点使用示例使用场景SeesionStorage特点...
    99+
    2024-04-02
  • windows谷歌浏览器怎么添加vue插件
    今天小编给大家分享一下windows谷歌浏览器怎么添加vue插件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。谷歌浏览器添加...
    99+
    2023-07-01
  • vue-devtools 开发工具插件之支持vue3 chrome 浏览器插件
    当前最新版本:vue-devtools 6.0.0-beta.7 用这个版本主要是为了支持vue3 推荐直接下载 https://www.crx4chrome.com/crx/107...
    99+
    2024-04-02
  • vue本地储存的方法
    这篇文章主要介绍“vue本地储存的方法”,在日常操作中,相信很多人在vue本地储存的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue本地储存的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!Vu...
    99+
    2023-06-30
  • 确认:Win10 Edge浏览器抛弃ActiveX及Silverlight插件
    微软已经宣布其Win10系统最新的Edge浏览器不再使用IE浏览器上的许多功能,包括不再支持基于ActiveX的插件。今天,微软确认抛弃ActiveX,也不再支持自家的Silverlight网页媒体播放技术。 微软在博...
    99+
    2023-06-17
    Win10 Edge 浏览器 ActiveX Silverlight 插件
  • 怎么在VBS中浏览本地文件
    怎么在VBS中浏览本地文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。XP下:Function BrowseForFile( )'...
    99+
    2023-06-08
  • Dreamweaver如何添加本地的浏览器为测试浏览器
    这篇文章将为大家详细讲解有关Dreamweaver如何添加本地的浏览器为测试浏览器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法如下这时当然是打开dreamweaver 的 主界面,新建一个html文...
    99+
    2023-06-08
  • 浏览器cookie的存储位置详解
    随着互联网的普及,我们使用浏览器进行上网已经成为一种生活方式。在日常使用浏览器过程中,我们经常会遇到需要输入账号密码的情况,如网购、社交、邮件等。这些信息需要浏览器记录下来,以便于下次访问时不需要再次输入,这时候Cookie就派...
    99+
    2024-01-19
    浏览器 cookie 存储位置
  • win10浏览器下载文件保存在哪个地方
    这篇文章主要介绍“win10浏览器下载文件保存在哪个地方”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win10浏览器下载文件保存在哪个地方”文章能帮助大家解决问题。鼠标左键单击开始按钮,如下图所示...
    99+
    2023-07-01
  • Vue封装一个TodoList的案例与浏览器本地缓存的应用实现
    本文主要介绍了Vue封装一个TodoList的案例与浏览器本地缓存的应用实现,分享给大家,具体如下: 使用Vue封装一个简易的Todolist的小案例. 同时加入了浏览器本地缓存...
    99+
    2024-04-02
  • vue项目打包后浏览器缓存问题及解决
    目录vue项目打包后浏览器缓存vue打包更新后缓存总结vue项目打包后浏览器缓存 1、第一步需要在index.html中添加如下代码: <meta http-equiv="p...
    99+
    2023-03-19
    vue项目打包 vue浏览器缓存 vue缓存问题
  • vue-lsvue本地储存的实例讲解
    目录安装NpmYarn使用Global(全局)Context(上下文)API 说明vue-ls介绍Vue插件,用于从Vue上下文中使用本地Storage,会话Storage和内存St...
    99+
    2024-04-02
  • 网页浏览器中cookie的储存方式
    当你在网页上决定登陆一个账号时,你是否发现自己不再需要在每个页面中都输入密码?这是因为网站使用了cookie技术来记录你的账户信息。在网页浏览器中,cookie是通过一种储存方式被保存下来的,下面我们就来详细地了解一下这种储存方...
    99+
    2024-01-19
    网页 cookie 储存
  • 探秘浏览器中cookie的存储机制
    探秘浏览器中cookie的存储机制 随着互联网的发展和应用的普及,人们对浏览器中的cookie(HTTP cookie)已经不再陌生。无论是在购物网站上保存购物车信息,还是在社交媒体上保存登录状态,cookie都扮演着无可替代的...
    99+
    2024-01-19
    浏览器 存储 cookie
  • Vue中的Strorage本地化存储详解
    目录Storage本地化存储localStoragesessionStorageStrorage本地存储实例在model文件夹下面新建一个storage.js创建storeStora...
    99+
    2024-04-02
  • windows谷歌浏览器怎么添加插件
    本文小编为大家详细介绍“windows谷歌浏览器怎么添加插件”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows谷歌浏览器怎么添加插件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。谷歌浏览器添加插件的方...
    99+
    2023-07-01
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作