方法一,存储在Vue的原型链上 (export + vue的prototype)

1,新建一个store目录,里面建立store.js,再导出
适用于全局公用的方法。

let store = {
  num:1,
  mySay:function(){
      console.log('my say!');
  }
}

export default store;              //注意,导出export default,而非export 

2, 在main.js引入,并挂载到vue原型链上.

import store from './store/store'

Vue.prototype.store = store;

3,访问调用

在相应的组件中,使用this.store即可调用。
eg:this.store.num

方法二,在Vue构造函数实例化时,新增在data中,全局都可访问 (main.js)

1,main.js 新增如下

new Vue({
  el: '#app',
  /add    存储公共的数据,所有子组件都可通过this.$root进行访问或修改
  data:{
    status:0
  },
  //add  公共方法
  methods:{
    say:function(){
      console.log('老大说,hellow');
    }
  },
  //add  公共的计算属性
  computed:{
    add:function(){
       return this.status+1;
    }
  },
  router,
  components: { App },
  template: '<App/>'
})

2,this.$root进行访问修改

let status = this.$root.status;

this.$root.say();

上述两种方法,都仅仅适用于状态比较简单的小型项目。如果状态过于复杂,则建议使用vuex

方法三,利用vuex

vuex常用用法学习
https://blog.csdn.net/yiyueqinghui/article/details/108108602

vuex使用案例参考我的github:
https://github.com/yiyueqinghui/vuex-study

Vuex 和 localStorage 的区别

1、存储位置的区别

  • vuex 存储在内存
  • localstorage 则以文件的方式存储在本地,只能存储字符串类型的数据

2、应用场景

  • Vuex 是一个专为 Vue应用程序开发的状态管理模式。vuex 用于组件之间的传值。
  • localstorage 是本地存储,是将数据存储到浏览器的方法,一般是在跨页面传递数据时使用 。

3、是否在响应式
Vuex 能做到数据的响应式,localstorage 不能

4、永久性
刷新页面时 vuex 存储的值会丢失,localstorage 不会。

Logo

前往低代码交流专区

更多推荐