18720358503 在线客服 人才招聘 返回顶部
企业动态 技术分享 行业动态

商城微信小程序_详解vuex的简略todolist例子

2021-01-07分享 "> 对不起,没有下一图集了!">
详解vuex的简单todolist例子       这篇文章主要介绍了详解vuex的简单todolist例子,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

 template 
 div 
 input type="text" 
 button 增加事项 /button 
 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) = {
 mit('changeListValue', inputVal)
 handleDel: ({commit}, idx) = {
 mit('handleDel', idx)
export default store

3.回到HelloWorld.vue

 template 
 div 
 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会报错,请大神帮我解答下。

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


"> 对不起,没有下一图集了!">
在线咨询