基于webpack+vue实现的待办VUE-TODOLIST前端项目简单总结

3 篇文章 0 订阅

一、手动配置对webpack进行相关的配置
参考我的上一篇文章:
https://editor.csdn.net/md/?articleId=110011301

1.实现页面
在这里插入图片描述

2.实现技术:

  • 组件模块化思想

  • 父组组件之间的数据双向传递(porps、this.$emit)
    在这里插入图片描述
    在这里插入图片描述
    同理:
    在这里插入图片描述

  • 使用stylus语法对css样式进行编译(实现css样式的模块化、优化代码结构,将具有共同样式的css代码组装起来,组装成函数,需要时直接引入调用即可)
    -在这里插入图片描述

  • 使用watch实现对数据的监听

  watch: {
      todoData: {
        deep: true,
        handler() {
          this.total = this.todoData.filter((v) => v.complete == false).length
        },
      },
    },`
  • 使用computed实现对数据的计算,实现过滤显示效果
  computed: {
      filterData() {
        switch (this.filter) {
          case "all":
            return this.todoData
            break
          case "active":
            return this.todoData.filter((v) => v.complete == false)
            break
          case "completed":
            return this.todoData.filter((v) => v.complete == true)
            break
        }
      },
    },

显示:(todoData-----> filterData)

  <main-item
      v-for="(item, index) in filterData"
      :key="index"
      :todo="item"
      @del="deleteItem"
    ></main-item>
  • js部分

1).使用.unshift()实现向数组中添加元素(这里添加向数组添加的元素为对象类型)

   this.todoData.unshift({
          id: id++,
          content: this.content,
          complete: false,
        })

2)使用.filter(v=>条件)实现对数组过滤,即筛选出符合条件的元素

  computed: {
      filterData() {
        switch (this.filter) {
          case "all":
            return this.todoData
            break
          case "active":
            return this.todoData.filter((v) => v.complete == false)
            break
          case "completed":
            return this.todoData.filter((v) => v.complete == true)
            break
        }
      },
    },

3)使用.findIndex((v,i)=>条件)实现数组查找,返回的时满足条件元素的数组下标
使用.splice(index,n)实现删除数组中满足条件的元素

deleteItem(id) {
        this.todoData.splice(
          this.todoData.findIndex((i, v) => {
            i === id
          }),
          1
        )

其他代码就不放上来啦,对源码感兴趣的胖友可以反问:
https://github.com/huangzhizhen/VUE_TODOLISTS

总结就到这里:爱学习爱分享学无止境~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值