zoukankan      html  css  js  c++  java
  • vuex

    main.js

    npm i vuex --save

    import Vuex from 'vuex'

    import store from './store'

    Vue.use(Vuex)

    new Vue({
        el: '#app',
        router,
        store,
        components: {
            App
        },
        template: '<App/>'
    })

     然后  建一个store.js   为了保存 你的状态呀

    store.js 

    import Vue from 'vue'
    import Vuex from 'vuex'
    
    // 告诉 vue “使用” vuex
    Vue.use(Vuex)
    
    // 创建一个对象来保存应用启动时的初始状态
    // 需要维护的状态
    const store = new Vuex.Store({
        state: {
            
        },
        mutations: {
            
        },
        getters: {
            
        },
        actions: {
        
        }
    })
    // 整合初始状态和变更函数,我们就得到了我们所需的 store
    // 至此,这个 store 就可以连接到我们的应用中
    export default store

    status  获取状态

    this.$store.state   就是 你的 state   获取值

    getters 获取

    store.js

    import Vue from 'vue' import Vuex from 'vuex' // 告诉 vue “使用” vuex Vue.use(Vuex) // 创建一个对象来保存应用启动时的初始状态 // 需要维护的状态 const store = new Vuex.Store({ state: { age: 55 }, getters: { getAge: function(state) { return state.age; } }, }) // 整合初始状态和变更函数,我们就得到了我们所需的 store // 至此,这个 store 就可以连接到我们的应用中 export default store

    store.vue
    computed:{
             name:function(){

               return this.$store.getters.getAge

             }



    Mutation  改变state 中的值   同步

    store.js
    
    mutations: {
            change: function(s, c) {
                s.age = c
            }
        }

    store.vue
    
        methods:{
             jia:function(){
                 var data=this.$store.state.age+1
    
                  this.$store.commit('change',data)
    
                  console.log(this.$store.state.age)
             }
         }
    
    

    actions 异步改变值

    store.js

    const store = new Vuex.Store({ state: { age: 55 }, mutations: { yibu: function(s, c) { s.age = c } }, actions: { jian: function(context, value) { console.log(context) console.log(value) setTimeout(function() {           context.commit('yibu', value); }, 1000) } } })

    store.vue
       methods:{
             jian:function(){
                 var data=this.$store.state.age-1
    
                  this.$store.dispatch('jian', 5);
    
                  console.log(this.$store.state.age)
             }
         }
    
    
    
     
  • 相关阅读:
    全栈程工程师
    月薪8000的程序员和月薪2万的程序员差别在哪里?
    原型中的访问
    关于 基本类型和复合类型 用== 判断的小问题
    使用原型解决构造函数问题
    前端工程师学习路线 --书籍
    程序员成长之路
    GIT学习(1) Pull和Fetch
    OO面向对象编程:第四单元总结及课程总结
    OO面向对象编程:第三单元总结
  • 原文地址:https://www.cnblogs.com/nns4/p/8675690.html
Copyright © 2011-2022 走看看