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 相关文章推荐
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
Feb 26 Javascript
Extjs NumberField后面加单位实现思路
Jul 30 Javascript
详解JavaScript函数绑定
Aug 18 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
Mar 11 Javascript
jQuery 监控键盘一段时间没输入
Apr 22 Javascript
浅谈bootstrap源码分析之tab(选项卡)
Jun 06 Javascript
jQuery实现验证码功能
Mar 17 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
Apr 11 Javascript
详解Angular 自定义结构指令
Jun 21 Javascript
JavaScript箭头函数_动力节点Java学院整理
Jun 28 Javascript
JavaScript Date对象应用实例分享
Oct 30 Javascript
JS JQuery获取data-*属性值方法解析
Sep 01 jQuery
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图片加中文水印实现代码分享
2012/10/31 PHP
PHP验证码函数代码(简单实用)
2013/09/29 PHP
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
2020/12/13 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
理解JavaScript原型链
2016/10/25 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
在Django的通用视图中处理Context的方法
2015/07/21 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
Sanic框架流式传输操作示例
2018/07/18 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2020/06/10 Python
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
delegate与普通函数的区别
2014/01/22 面试题
linux面试题参考答案(10)
2016/10/26 面试题
学校门卫工作职责
2013/12/07 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
银行自荐信范文
2015/03/25 职场文书
小学副班长竞选稿
2015/11/21 职场文书