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 相关文章推荐
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
Nov 12 Javascript
javascript操作JSON的要领总结
Dec 09 Javascript
js实现俄罗斯方块小游戏分享
Jan 31 Javascript
js调用后台、后台调用前台等方法总结
Apr 17 Javascript
AngularJS数据源的多种获取方式汇总
Feb 02 Javascript
对于Javascript 执行上下文的全面了解
Sep 05 Javascript
基于jquery的on和click的区别详解
Jan 15 jQuery
如何用JavaScript实现功能齐全的单链表详解
Feb 11 Javascript
微信小程序如何获取用户头像和昵称
Sep 23 Javascript
jQuery实现获取多选框的值示例
Feb 07 jQuery
JavaScript React如何修改默认端口号方法详解
Jul 28 Javascript
js正则匹配markdown里的图片标签的实现
Mar 24 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
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
PHP使用header()输出图片缓存实例
2014/12/09 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
javascript读取RSS数据
2007/01/20 Javascript
Javascript 类、命名空间、代码组织代码
2011/07/31 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
2015/03/04 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
Python自动登录126邮箱的方法
2015/07/10 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
python实现连连看游戏
2020/02/14 Python
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
高中生期末评语大全
2014/01/28 职场文书
居委会个人对照检查材料思想汇报
2014/09/29 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书
德生BCL3000抢先使用感受和评价
2022/04/07 无线电
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python