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的trigger和triggerHandler的区别示例介绍
Apr 20 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
Jan 23 Javascript
jQuery跨域问题解决方案
Aug 03 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
Jun 28 Javascript
JS实现图片上传预览功能
Nov 21 Javascript
AngularJS 验证码60秒倒计时功能的实现
Jun 05 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
原生JS实现的简单轮播图功能【适合新手】
Aug 17 Javascript
解决vue项目使用font-awesome,build后路径的问题
Sep 01 Javascript
在vue 中使用 less的教程详解
Sep 26 Javascript
layui实现checkbox的目录树tree的例子
Sep 12 Javascript
javascript实现支付宝滑块验证码效果
Jul 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
重料打造自己的“宝马”---第三代
2021/03/02 无线电
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
php判断linux下程序问题实例
2015/07/09 PHP
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
浅谈javascript的分号的使用
2015/05/12 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
Bootstrap布局之栅格系统学习笔记
2017/05/04 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
es6数值的扩展方法
2019/03/11 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
js实现动态时钟
2020/03/12 Javascript
Node.js API详解之 repl模块用法实例分析
2020/05/25 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
使用python实现rsa算法代码
2016/02/17 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
2019/08/17 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
谈谈python垃圾回收机制
2020/09/27 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
社区庆八一活动方案
2014/02/02 职场文书
草船借箭教学反思
2014/02/03 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
七一建党节慰问信
2015/02/14 职场文书
教师师德承诺书2016
2016/03/25 职场文书