初学前端

vuex中辅助函数mapstate语法

2019-12-16  本文已影响0人  简约酒馆

这里是我创建的store代码

//  引入Vue构造函数
import Vue from "vue"
//引入 vuex
import vuex from  "vuex"
//将vuex挂载到vue
Vue.use(vuex);

//创建仓库
 var  store =new vuex.Store({
   state:{
//定义状态  title属性
     title:"hello world"
   }
 })

//导出创建的仓库
export default store

这里是main.js的文件

import Vue from 'vue'
import App from './App'
import router from './router'

Vue.config.productionTip = false
//引入 创建的store仓库
import store from "./store";

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  //将store挂载到vue
  store,
  components: { App },
  template: '<App/>'
})

这是组件使用mapState的笔记

<template>
    <div>
<!--      这里直接输出title 它是mapState中定义的属性title,它的值是store仓库的值-->
      {{title}}

    </div>
</template>

<script>
  //引入vuex提供的辅助函数 mapState  ***抽象形容:mapState是state的语法糖
  //官方的解释:mapState 辅助函数  当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用 mapState 辅助函数帮助我们生成计算属性,让你少按几次键:
  import {mapState} from "vuex"
    export default {
        name: "Home",
      //为什么mapstate写在computed里面呢  computed:计算机属性 当依赖的属性发生改变就会执行
        computed:{
          // ...对象展开运算符 ==>ES6提供的
          ...mapState({
            //第一个title代表当前组件的属性  "title"代表仓库的属性
            title:"title"
          })
        }
    }
</script>

<style  scoped>

</style>

语法就是写的不要问那么多 *那你可以针是一个杠精

官方的文档地址 https://vuex.vuejs.org/zh/guide/state.html

上一篇 下一篇

猜你喜欢

热点阅读