一、单文件引入

1、创建存放全局变量和方法的vue文件

  Common.uve

<script>
const userName = 'yangjing';
function add(a,b) {
return a+ b
}
export default {
userName,
add
}
</script>

2、在需要使用的组件(A组件和B组件)中引入Common.uve

<template>
<div>
<h2 @click="changeName">{{name}}</h2>
<h2 @click="add">3+6 = {{num}}</h2>
</div>
</template> <script>
import Common from '@/components/Common'
export default {
name: "Details",
data () {
return {
name: Common.userName,
num: ''
}
},
methods: {
add() {
this.num = Common.add(3,6)
}
}
}
</script>

在A组件中修改全局变量userName时在B组件中可以看到userName是更新了的

二、全局引入 全局变量模块挂载到vue原型中

如果再项目中在多个地方使用全局变量和方法用第一种方式引入肯定是相当繁琐的,因为需要在使用的地方都要引入一次;那么为了提高效率现在在main.js中引入一次然后挂载到vue原型上(Vue.portotype)

1、在main.js中引入文件,并挂载到Vue原型上

import Common from '@/components/Common'
Vue.prototype.Common = Common;

2、在需要使用的组件中使用 this

<template>
<div>
<h2 @click="changeName">{{name}}</h2>
<h2 @click="add">3+6 = {{num}}</h2>
</div>
</template> <script>
export default {
name: "Details",
data () {
return {
name: this.Common.userName,
num: ''
}
},
methods: {
add() {
this.num = this.Common.add(3,6)
}
}
}
</script>

拓展:

三、使用Vue中的状态管理Vuex

如果数据量小则不推荐使用Vuex,杀鸡就不用宰牛刀了吧。

详细使用:https://www.cnblogs.com/yangchin9/p/11003791.html

四、使用本地存储(webstorage)存放全局变量

本地存储分两种 localStorage 和 sessionStorage

localStorage:永久性,一直存在于浏览器中,除非用户手动清除localStorage;一般为5M浏览器不同有些许区别;不参与和服务器的通信。

sessionStorage:在当前会话下有效,关闭页面和浏览器清除后失效;一般为5M浏览器不同有些许区别;不参与和服务器的通信。

API:二者的api形式相同

localStorage.setItem("key","value");  //以“key”为名称存储一个值“value”

localStorage.getItem("key");  //获取名称为“key”的值

localStorage.removeItem("key");  //删除名称为“key”的信息。

localStorage.clear();  ​//清空localStorage中所有信息

五、使用Cookie存储

这种方式极不推荐,毕竟大小限制,还需要设置过期时间。
cookie在过期时间之前一直有效即使窗口或浏览器关闭;存放数据大小为4k左右;有个数限制(随浏览不同)一般不能超过20个;与服务端通信,每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题。

Vue-全局变量和方法的更多相关文章

  1. vue + typescript,定义全局变量或者方法

    众所周知,在 vue中,如果想定义一个全局变量的方法很简单,直接在 vue的原型上挂载属性或者方法即可. 但是,加上了typescript之后, Vue.prototype.$xxx = xxx  这 ...

  2. vue.js之生命周期,防止闪烁,计算属性的使用,vue实例简单方法和循环重复数据

    摘要:今天是比较糟糕的一天没怎么学习,原因是学校的wifi连不上了~~.今天学习一下vue的生命周期,如何防止闪烁(也就是用户看得到花括号),计算属性的使用,vue实例简单方法,以及当有重复数据时如何 ...

  3. vue数组变异方法

    Vue数组变异方法,会改变被这些方法调用的原始数组,将会触发视图更新 push() 接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度 pop() 从数组末尾移除最后一项,减少数组的 ...

  4. vue学习笔记(四)- cmd无法识别vue命令解决方法

    解决控制台无法识别vue命令问题 作者:狐狸家的鱼 本文链接:cmd无法识别vue命令解决方法 GitHub:sueRimn 在控制台输入vue会报以下错误: vue : 无法将“vue”项识别为 c ...

  5. vue教程2-04 vue实例简单方法

    vue教程2-04 vue实例简单方法 vue实例简单方法: vm.$el -> 就是元素 vm.$data -> 就是data <!DOCTYPE html> <htm ...

  6. Vue 生命周期方法

    一.Vue 生命周期 Vue的生命周期即是实例从创建到销毁的一个过程.之前在学习Vue的时候,看过官网的教程,但是经常用到的是mounted,所以对其他生命周期方法不是很熟悉,这里有空做个总结,也方便 ...

  7. python2.7 跨文件全局变量的方法

    有关python实现跨文件全局变量的方法. 在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况.文件1:globalvar.py #!/usr/bin/env pyt ...

  8. 【转】安装Vue.js的方法

    安装vue.js的方法   一.简介 Vue.js 是什么 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量 ...

  9. 千锋教育Vue组件--vue基础的方法

    课程地址: https://ke.qq.com/course/251029#term_id=100295989 <!DOCTYPE html> <html> <head& ...

  10. Vue实例和方法

    github地址:https://github.com/manlili/vue_learn里面的lesson03 一 实例 每个 Vue 实例都会代理其 data 对象里所有的属性,改变data,vu ...

随机推荐

  1. 【模板】裸SPFA

    SPFA可以处理带负边权的图,可以判负环,然而SPFA容易被卡,即使加了各种优化. 队列优化的贝尔福德曼:裸SPFA //SPFA #include<bits/stdc++.h> usin ...

  2. ftp的相关配置

    参考 https://www.cnblogs.com/hexige/p/7809481.html 访问参数

  3. Solr与对应Jdk版本的关系

    Solr各版本下载地址:http://archive.apache.org/dist/lucene/solr/ 下载的包里面的CHANGES.txt 有当前版本需要的说明.

  4. 看端口是否被占用的python脚本

    在创建 tcp server 的时候,首先检测端口是否被占用. 代码如下: ----------------------------------------import socketdef net_i ...

  5. 转载:EQ--biquad filter

    http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt https://arachnoid.com/BiQuadDesigner/index.html ...

  6. layer.open 回调函数

    官方资料:http://www.layui.com/doc/modules/layer.html 在一个弹出框中新增个按钮,点击按钮后执行自己的语句(返回上一页并刷新). layer.open({ti ...

  7. const在C与C++中的区别

    在C中,const不是常量,只能说是一个不能改变的变量(注意是变量),C编译器不能把const看成看成一个编译期间的常量,因为他在内存中有分配,C编译器不知道他在编译期间的值.所以不能作为数组定义时的 ...

  8. FreeRTOS学习笔记1:任务

    任务特性每个任务有自己的环境,不依赖于其他任务与调度器任何时间点只有一个任务运行.由调度器决定上下文环境:(寄存器值.堆栈内容等)调度器保证的就是任务开始执行时的上下文环境与上一次退出时相同所以每个任 ...

  9. 「题解」「BZOJ-4668」冷战

    题目 点这里 思路及代码 我们可以使用并查集的按秩合并(但是不要路径压缩). 两个集合被合并起来,连上的边的权值就设为当前时间. 然后我们可以发现,询问 \(j\) 与 \(k\) 何时联通,就是查询 ...

  10. 截取字符,超出的用省略号代替js实现 substring

    可用到截取文字过多的问题,取0到6之间的字符,不包含6title.substring(0,6)+'...';