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使用focus()设置焦点失败的解决方法
Sep 03 Javascript
详细分析JavaScript函数定义
Jul 16 Javascript
JS中的数组方法笔记整理
Jul 26 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
JavaScript获取select中text值的方法
Feb 13 Javascript
前端跨域的几种解决方式总结(推荐)
Aug 16 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
Sep 14 Javascript
js插件实现图片滑动验证码
Sep 29 Javascript
Vue实现内部组件轮播切换效果的示例代码
Apr 07 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
May 15 Javascript
微信小程序整个页面的自动适应布局的实现
Jul 12 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作的文本留言本的例子(一)
2006/10/09 PHP
php cout&amp;lt;&amp;lt;的一点看法
2010/01/24 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
php实现中文转数字
2016/02/18 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
2016/06/12 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
Python实现字符串格式化的方法小结
2017/02/20 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
Python 列表的清空方式
2020/01/13 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
django中related_name的用法说明
2020/05/20 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
十佳大学生事迹材料
2014/01/29 职场文书
两只小狮子教学反思
2014/02/05 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
研究生简历自我评
2015/03/11 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书