zoukankan      html  css  js  c++  java
  • vuex 基本语法

    VUEX 的核心概念   1 、State (常用);2、Getters ;3、Mutations(常用);4、Actions ;5、Modules;
    
    1。State是唯一的数据源,单一的状态树
    const Couter={
       template:`<div>{{count}}</div>`,
       computed:{
          count(){
         return this.$store.state.count
          }
       }
    }
    2。通过Getters可以派生出新的状态  如:
    const store=new Vuex.Store({
       state:{
          todos:[
        { id:1,text:'...',done:true },
        { id:2,text:'...',done:false }
          ]
       },
       getters:{
         doneTodos: srtate =>{
        return state.todos.filter(todo=>todo.done)
         }
       }
    })
    3。更改Vuex的store中的状态的唯一方法是提交mutation
    const store=new Vuex.Store({
      state:{
        count:1
      },
      mutations:{
        increment(state){ //改变状态
          state.count++
        }
      }
    })
    //调用
    store.commit('increment')
    
    4。Action提交的是mutation,而不是直接改变状态,Action可以包含任意的异步操作
    const store=new Vuex.Store({
      state:{
        count:0
      },
      mutations:{
        increment(state){
        state.count++  
        }
      },
      actions:{
        increment(context){
        context.commit('increment')
        }
      }
    })
    
    5。面对复杂的应用程序,当管理的状态比较多时,我们需要将Vuex的store对象分割成模块(modules)
    const moduleA={
      state:{ ...},
      mutations:{ ...},
      actions:{ ...},
      getters:{ ...}
    }
    const moduleB={
      state:{ ...},
      mutations:{ ...},
      actions:{ ...}
    }
    const stote=new Vuex.Store({
       modules:{
        a:moduleA,
        b:moduleB
       }
    })
    
    
       项目结构
    |——index.html
    |——main.js
    |——api
         |_ ... //抽取出api请求
    |——components
         |-App.vue
         |_ ...
    |——store
         |-index.js  //我们组装模块并导出store的地方
         |-actions.js //根级别的actions
         |-mutations.js //根级别的mutations
         |_modules
           |-cart.js  ///购物车模块
           |_products.js  ///产品模块
  • 相关阅读:
    Elasticsearch源码加载到eclipse调试
    Elasticsearch基础教程
    关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
    访问WEB-INF下的JSP (转载)
    SqlServer的代理问题
    SqlServer进行程序跟踪
    git简单的修改
    Linux部署项目
    网址仓库
    Linux基础
  • 原文地址:https://www.cnblogs.com/finghi/p/12242709.html
Copyright © 2011-2022 走看看