首页 > 其他分享 >vue项目todolist

vue项目todolist

时间:2023-01-05 18:45:01浏览次数:40  
标签:vue 项目 todolist list TodoMain 组件 接收 id

初始化项目

(1)先把vue项目创建出来

(2)然后把src中的文件替换掉,替换成我们项目的文件

(3)创建3个组件,头部组件(TodoHeader),身体组件(TodoMain),结尾组件(TodoFooter)

(4)把样式导入App.vue中去

(5)把数据列表传入进去

TodoMain获取父组件数据,进行传值

父组件使用自定义属性,动态把list数组传递给子组件

子组件使用props进行接收,然后使用v-for对页面进行渲染

App.vue使用自定义属性,传递参数

<TodoMain :list="list"></TodoMain>  //父传子

TodoMain使用props进行接收,然后使用v-for对页面进行渲染

//子组件对父组件进行接收 
 props : {
    list : {
      type : Array,
      required : true
    }
  }
//子组件使用v-for对页面进行渲染
      <!-- 当任务已完成,可以给 li 加上 completed 类,会让元素加上删除线 -->
      <li :class="{completed : item.isDone}" v-for="(item,index) in list" :key="item.id" >
        <div class="view">
          <input class="toggle" type="checkbox" v-model="item.isDone"/>
          <label>{{ item.name }}</label>
          <button class="destroy"></button>
        </div>
      </li>

删除功能

子组件不能直接对父组件传过来的数据进行修改,所以子组件需要把方法传递给父组件,父组件完成删除操作

 TodoMain组件创建事件,并且暴漏给父组件

<button class="destroy" @click="del(item.id)"></button>
//子组件创建事件,暴漏给父组件
  methods : {
    del (id) {
      // console.log(id)
      this.$emit(`del`,id)
    }
  }

父组件进行接收,并且为子组件提供一个方法

    <TodoMain :list="list" @del="fuDel"></TodoMain> //父组件接收子组件的传值
//父组件为子组件创建一个方法
  methods : {
    fuDel (id) {
     this.list = this.list.filter(i => { return i.id !== id })
    }
  }

 

标签:vue,项目,todolist,list,TodoMain,组件,接收,id
From: https://www.cnblogs.com/hgng/p/17028571.html

相关文章

  • 使用jacoco-maven-plugin生成Java项目代码覆盖率报告
    1.参考资料https://www.cnblogs.com/fnlingnzb-learner/p/10637802.htmlhttps://maven.apache.org/surefire/maven-failsafe-plugin/examples/skipping-tests.html#2.......
  • 五子棋项目说明
    项目设计思想功能介绍:后台管理:用户注册,用户信息编辑,用户搜索注册页:用户名,密码,确认密码,头像,用户状态,添加/重置按钮数据库:zc_rg表:zc_user用户编辑:用户名,是否修改密码,......
  • 《五行学徒》卡牌构筑游戏Demo【四人独立项目】
    Apk下载(蓝奏云)密码:3ggc制作时间:2020年9月--2020年10月在Unity大学的实操项目,一个基于U3D开发的卡牌构筑游戏,参考《万智牌》的"五属"定下了五行的主题,参考《杀......
  • 学习笔记——CommonResult工具、书城项目第五阶段(清空购物车、删除购物项、对数量的修
    2023-01-05一、CommonResult工具1、CommonResult工具的目的是:为了方便团队开发。一般是在使用异步的时候使用。2、CommonResult工具的使用:(1)前端发送异步请求到serv......
  • 在Vue3这样子写页面更快更高效
    前言在开发管理的后台过程中,会增加、删除、更改很多页面,这些页面的逻辑大多相同,比如获取列表数据、分页、筛选等基本功能。不同的是呈现的数据项。还有一些操作按钮。对于刚......
  • 手把手教你把 Git 子模块更新到主项目
    本文以 skywalking-rocketbot-ui子模块合并到 skywalking 为例,手把手教你如何把Git子模块更新到主项目中去。首先,把fork的skywalking项目克隆到本地:OneMoreMINGW64......
  • Apache RocketMQ 斩获 InfoQ 2022 年度十大开源新锐项目
    以“深入数字经济·洞见技术价值”为主题的【InfoQ2022中国技术力量年终榜单】正式公布获奖名单。其中,ApacheRocketMQ以其卓越的易用性、社区活跃性、成熟度、产品优越性......
  • 第二十五章《图书管理系统》第3节:项目完整代码
    图书管理系统总共包含24个类,原本打算把这些类的源代码全部贴出,但无奈代码量太大导致超出系统允许范围,因此只能把代码打包上传了,下载地址是:​​Swing版图书管理系统源码​​......
  • Github应用最广泛的开源项目
    ​ Github自从2008年上线以来,发展迅速,目前已经成为最流行的代码托管站点。在Github中,开发者除了可以托管自己的项目源码外,还可以Watch(关注)、Star(加星)、Fork(复制一份)、Pull......
  • VUE项目解决后台传过来的时间有个T的方法
    对接java接口,列表需要显示时间,发现java返回的时间为以下json格式(createdTime字段),日期和时间之间有个字母T,和产品沟通结果为无法接受此种显示形式。产品一张嘴,开发跑断......