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下的26个实用小技巧(jQuery tips, tricks &amp; solutions)
Mar 01 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
Oct 15 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
Aug 28 Javascript
JavaScript避免内存泄露及内存管理技巧
Sep 05 Javascript
jquery制作 随机弹跳的小球特效
Feb 01 Javascript
Angular的模块化(代码分享)
Dec 26 Javascript
jQuery实现限制文本框的输入长度
Jan 11 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
Mar 02 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
Mar 03 Javascript
微信小程序上传图片功能(附后端代码)
Jun 19 Javascript
webpack4实现不同的导出类型
Apr 09 Javascript
js中的this的指向问题详解
Aug 29 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
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
2018/12/21 PHP
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
javascript if条件判断方法小结
2014/05/17 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
微信小程序 http请求详细介绍
2016/10/09 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
详解Python的Django框架中的Cookie相关处理
2015/07/22 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
文案策划求职信
2014/04/14 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
开展创先争优活动总结
2014/08/28 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
化妆品促销活动总结
2015/05/07 职场文书
如何写好竞聘报告
2019/04/03 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
python实现双向链表原理
2022/05/25 Python