100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 通过vue + vuex这2样技术实现todolist(详细教程)

通过vue + vuex这2样技术实现todolist(详细教程)

时间:2022-06-07 23:48:24

相关推荐

通过vue + vuex这2样技术实现todolist(详细教程)

web前端|js教程

todolist,vuex,实现

web前端-js教程

这篇文章主要介绍了vue + vuex todolist的实现示例代码,我觉得挺不错的,现在分享给大家,也给大家做个参考。

花卉拍卖源码,vscode生成骨架标签,ubuntu不能打字,tomcat增加堆内存,哺乳爬虫,php要linux,seo用什么语言开发,网站系统改教程视频教程,个人主页博客模板lzw

todolist demo

cynthia源码,去哪里下载ubuntu,夜里客厅有爬虫,php ->和=>,seo介绍 pptlzw

最近有空重新看了一下vuex,然后又写了一个todolist小demo,原理比较简单,主要是自己规范了一下代码的写法.

宗师堂软文源码,vscode文件对比工具,ubuntu安装服务,tomcat 运行模式,sqlite 下划线查询,闲鱼网页爬虫多少钱,nginx处理php,知名seo推广价位,网站源码设计,网页照片墙源代码,左边导航右边内容模板lzw

下载地址 :vue-test_jb51.rar

效果图

根组件

todo list demo

import { createNamespacedHelpers } from vueximport TypeFilter from ./filterimport AddTodo from ./addTodoimport TodoItem from ./itemconst { mapState, mapMutations } = createNamespacedHelpers(TodoList)export default { name: odo-list-demo, components: { TypeFilter, TodoItem, AddTodo }, computed: { ...mapState([list, ypes, filter]) }, methods: { ...mapMutations([ handleAdd, handleRemove, handleToggle, handleUpdateFilter ]) }}@import ./style.scss;

过滤条件组件

{{item}} export default { name: ype-filter, props: [ ypes, filter, handleUpdateFilter], methods: { filterClass(filter) { return { filter: true, active: filter === this.filter } } }}@import ./style.scss;

添加待办组件

export default { name: add-todo, props: [handleAdd], methods: { add(e) { const val = e.target.value.trim() if (val) { this.handleAdd({ id: new Date().getTime(), message: val, status: false }) e.target.value = \ } } }}@import ./style.scss;

单个待办事项组件

{{index+1}}. {{data.message}} Delete

export default { name: odo-items, props: [data, filter, index, handleRemove, handleToggle], computed: { show() { return ( this.filter === ALL || (this.filter === UNDO && !this.data.status) || (this.filter === DONE && this.data.status) ) } }, methods: { dateFormat(time) { const date = new Date(time) return `(${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()})` }, messageClass: status => ({ message: true, done: status }) }}@import ./style.scss;

vuex部分(模块)

const state = { list: [], types: [ALL, UNDO, DONE], filter: ALL}const mutations = { handleAdd(state, item) { state.list = [...state.list, item] }, handleRemove(state, id) { state.list = state.list.filter(obj => obj.id !== id) }, handleToggle(state, id) { state.list = state.list.map( obj => (obj.id === id ? { ...obj, status: !obj.status } : obj) ) }, handleUpdateFilter(state, filter) { state.filter = filter }}export default { namespaced: true, state, mutations}

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

jQuery实现的回车触发按钮事件功能示例

jQuery+Cookie实现切换皮肤功能

Angular 组件之间的交互的示例代码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。