详解vuex的简单todolist例子


Posted in Javascript onJuly 14, 2019

一个简单的vuex应用的小例子,一段自己的学习记录。

todolist就是一个简单的输入框,一个按钮,一个文本显示区域,可以逐条进行删除。

1.在用vue-cli生成好的HelloWorld.vue文件中直接写代码,先删除所有的自带代码

<template>
 <div class="hello">
  <input type="text">
  <button>增加事项</button>
  <ul>
   <li>item</li>
  </ul>
 </div>
</template>

要把`input`中的值在经过`button`点击后,显示在`li`中,`input`有`v-model`属性进行值的绑定,

让`li`的数据是一个数组。相当于在数组中push input的值。

2.在src目录下,新建一个store文件夹,创建一个index.js文件

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
 state: {
  inputVal: 'lily',
  list: ['1', '2', '3']
 },
 mutations: {
  changeListValue(state, inputVal) {
   state.list.push(inputVal)
   state.inputVal = ''
  },
  handleDel(state, idx) {
   state.list.splice(idx, 1)
  }
 },
 actions: {
  changeListValue: ({commit}, inputVal) => {
   return commit('changeListValue', inputVal)
  },
  handleDel: ({commit}, idx) => {
   return commit('handleDel', idx)
  }
 }
})
export default store

3.回到HelloWorld.vue

<template>
 <div class="hello">
  <input v-model="$store.state.inputVal" type="text">
  <button @click="changeListValue(inputVal)">增加事项</button>
  <ul v-for="(item, idx) in list">
   <li @click="handleDel(idx)">{{item}}</li>
  </ul>
 </div>
</template>

<script>
 import {mapState, mapActions} from 'vuex'
 export default {
  name: 'HelloWorld',
  computed: {
   ...mapState(['list', 'inputVal'])
  },
  methods: {
   ...mapActions(['changeListValue', 'handleDel'])
  }
 }
</script>

4.完成以后,有个困扰就是在input的v-model中写inputVal会报错,请大神帮我解答下。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript读取xml
Nov 04 Javascript
JavaScript中的运算符种类及其规则介绍
Sep 26 Javascript
用jquery修复在iframe下的页面锚点失效问题
Aug 22 Javascript
介绍JavaScript的一个微型模版
Jun 24 Javascript
浅谈JavaScript中运算符的优先级
Jul 07 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
Jul 17 Javascript
11种ASP连接数据库的方法
Sep 18 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
Feb 21 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
Apr 07 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
Oct 24 Javascript
vue+php实现的微博留言功能示例
Mar 16 Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
Aug 15 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
Jul 13 #Javascript
微信小程序解析富文本过程详解
Jul 13 #Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
Jul 13 #Javascript
微信小程序Echarts覆盖正常组件问题解决
Jul 13 #Javascript
微信小程序图片左右摆动效果详解
Jul 13 #Javascript
vue iview多张图片大图预览、缩放翻转
Jul 13 #Javascript
vue实现图片预览组件封装与使用
Jul 13 #Javascript
You might like
PHP使用CURL模拟登录的方法
2015/07/08 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
微信自定义菜单的创建/查询/取消php示例代码
2016/08/05 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
jQuery 加上最后自己的验证
2009/11/04 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
js中开关变量使用实例
2017/02/24 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
2017/05/20 jQuery
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
python设计模式大全
2016/06/27 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
Python3常用内置方法代码实例
2019/11/18 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
工程专业应届生求职信
2014/02/19 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
感恩节寄语2015
2015/03/24 职场文书
2015年组织委员工作总结
2015/04/23 职场文书
会议简讯范文
2015/07/20 职场文书