vuex直接赋值的三种方法总结


Posted in Javascript onSeptember 16, 2018

我们在编写vuex代码过程中,觉得在a.vue的模板里面写入例如 <p>{{$store.state.num}}</p>很麻烦,我们希望直接就写成{{num}},我们应该怎么写,vue给出三种固定写法,大家理解之后基本照抄,稍做改动即可

第一种方法 通过computed的计算属性直接赋值

1.store.js(vuex的代码如下):

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const state={//状态对象
num:1,
}
const mutations={//触发状态
jia(state){
  state.num++;
 },//做加法
jian(state){
  state.num--;
 },//做减法
 
}
export default new Vuex.Store({
state,
mutations,
})

2.你自己组件a.vue代码如下:

<template>
 
 <div>
  <h2>{{msg}}</h2>
  <hr/>
  <h3>{{$store.state.num}}-{{num}}</h3><!--此处要实现{{num}}的写法,需要通过计算属性进行写-->
  
<div>
 <button @click="$store.commit('jia')">+</button>
 <button @click="$store.commit('jian')">-</button>
 
</div>
 </div>
</template>
<script>
 import store from '@/store'
 export default{
  data(){
   return{
    msg:'Hello Vuex',
    
   }
  },
  computed:{
  num(){
  return this.$store.state.num;//这里就是计算属性的写法
  }
  },
  store
  
 }
</script>
<style scoped>
</style>

注意:计算属性写法一定不要忘了给num()与上面的模板要同名

第二种方法 通过mapState的对象来赋值

这种方法更为简单

第一步 a.vue引入mapState

import {mapState} from 'vuex'

第二步将上面的计算属性改成下面这种写法即可

computed:mapState({num:state=>state.num}),即可

第三种方法通过mapState的数组来赋值

代码如下所示:

把上面的计算属性直接改成下面这种形式

computed:mapState(["num"])

注:记得加上import {mapState} from 'vuex'

以上这篇vuex直接赋值的三种方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用Javascript实现Sleep暂停功能代码
Sep 03 Javascript
在VS2008中使用jQuery智能感应的方法
Dec 30 Javascript
js Dialog 去掉右上角的X关闭功能
Apr 23 Javascript
JavaScript实现的使用键盘控制人物走动实例
Aug 27 Javascript
javascript实现的左右无缝滚动效果
Sep 19 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
Sep 28 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
Mar 09 Javascript
JS图片预加载插件详解
Jun 21 Javascript
vue2.0 根据状态值进行样式的改变展示方法
Mar 13 Javascript
解决layui checkbox 提交多个值的问题
Sep 02 Javascript
解决vue 子组件修改父组件传来的props值报错问题
Nov 09 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
Jul 19 Javascript
vue 实现边输入边搜索功能的实例讲解
Sep 16 #Javascript
vue2过滤器模糊查询方法
Sep 16 #Javascript
vue里面使用mui的弹出日期选择插件实例
Sep 16 #Javascript
vue 界面刷新数据被清除 localStorage的使用详解
Sep 16 #Javascript
vuex提交state&amp;&amp;实时监听state数据的改变方法
Sep 16 #Javascript
新手必须知的Node.js 4个JavaScript基本概念
Sep 16 #Javascript
分享5个顶级的JavaScript Ajax组件库
Sep 16 #Javascript
You might like
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
php开发工具之vs2005图解
2008/01/12 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
jquery.validate使用时遇到的问题
2015/05/25 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
[02:10]探秘浦东源深体育馆 DOTA2 Supermajor不见不散
2018/05/17 DOTA
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
Python sorted对list和dict排序
2020/06/09 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
化工专业推荐信范文
2013/11/28 职场文书
年度考核自我鉴定
2014/03/19 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
老人与海读书笔记
2015/06/26 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
python - asyncio异步编程
2021/04/06 Python
Python基础知识之变量的详解
2021/04/14 Python
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL
mysql的数据压缩性能对比详情
2021/11/07 MySQL