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会报错,请大神帮我解答下。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。
详细说明vuex的简易todolist事例 本文关键详细介绍了详细说……
JS数字能量数组splice实际操作案例剖析 本文关键详细介绍……
招聘人数:30职位信息1.需长期稳定合作;2.公司主经营共享充电……
招聘人数:20职位信息1、负责商品选品与商品卖点的挖掘整理,……
招聘人数:8职位信息客户对象:主动申请试听课程的学员工作内……
Photoshop为房间内人像图片打造出出古典淡淡黄色实际效果PS同盟……