vue仓库、组件间通信、前后台数据交互、前端储存数据大汇总


路由重定向

仓库介绍

vuex插件:可以完成任意组件间信息交互(移动端)

大白话原理:仓库充当第三方,其他组件都从第三方仓库获取info,那么获取的数据都是一份。类似全局单例
	在其他组件中,用组件钩子created,把仓库中的info取出来,然后再赋值给本组件的变量。
	再监听,如果本组件的变量发生变化,返回去把仓库的info赋值。

缺点:
	页面刷新,回到初始值info。但是再手机移动端时,页面是不能刷新重新加载的。比如微信,只能重新向后台
发送请求,不能刷新系统重新加载一边

总结:vuex通常运用在开发移动端项目,pc端项目可以用localStorege和localStorege数据库来替换
原因:vuex中的数据,会在页面刷新后,重置到store/index.js配置的默认值

	这样就实现了组件间的互通。文字不好理解看下图案例:

案例:

Home.vue与FreeCourse.vue一致:

仓库代码:

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex);

export default new Vuex.Store({
    state: {
        info:'这是初始值'
    },
    mutations: {},
    actions: {},
    modules: {}
})

Home代码:



<script>
    import Nav from '../components/Nav'
    export default {
        data(){
            return{
                info:''
            }
        },
        created(){
            // this.info = this.$store.state.info;
            this.info = localStorage.info;  //PC端数据库,数据永久的
        },
        watch:{
            info(){
                //this.$store.state.info = this.info;
                localStorage.info = this.info;  //更新数据库
            }
        },

        components:{
            Nav,
        }
    }
</script>

FreeCourse代码: