时间:2021-05-25
一个简单的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 store3.回到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会报错,请大神帮我解答下。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
todolistdemo最近有空重新看了一下vuex,然后又写了一个todolist小demo,原理比较简单,主要是自己规范了一下代码的写法.下载地址:vue-
使用Redux做了一个简单的ToDoList待办事项列表,具体如下这个例子也是源于Redux作者DanAbramov的视频demo还要特别说明一下我还没有使用r
现在在上一篇为什么要使用Vuex的介绍理解基础上使用Vuex中的State,一个正面例子来证实,同时也介绍一下Vue核心概念State。Vuex使用单一状态树—
本篇教程将以计数器及列表展示两个例子来讲解Vuex的简单用法。本案例github从安装到启动初始页面的过程都直接跳过。注意安装时选择需要路由。首先,src目录下
vuex的理论知识就不多提了,官网上已经有明确的讲解。用一个简单的例子来描述一下基本的用法:第一步:npminstallvuex–save-dev第二步:在目录