vue中全局变量_vue全局样式

vue中全局变量_vue全局样式一、单文件引入1、创建存放全局变量和方法的vue文件Common.uve<script>constuserName='yangjing';functionadd(a,b){returna+b}exportdefault{userName

大家好,欢迎来到IT知识分享网。

一、单文件引入

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,杀鸡就不用宰牛刀了吧。 

详细使用:vue 全局变量和方法

四、使用本地存储(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保存过多数据会带来性能问题。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/29939.html

(0)
上一篇 2023-10-12 13:45
下一篇 2023-10-14 18:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信