Vue学习:todolist-自定义事件

该文章介绍了如何在Vue.js应用中,将todolist案例中的标准事件替换为自定义事件。子组件(myHeader)通过$emit触发receive事件,传递新创建的todo对象给父组件。同时,myFooter组件使用自定义事件checkAllTodo和clearAllTodo来更新列表状态和删除所有条目。
摘要由CSDN通过智能技术生成

将todolist案例中的子给父传递的事件,全部变成自定义事件

APP的子由footer header

父组件上

         <!-- 自定义事件receive,里面的回调函数“receive” -->
                <myHeader @receive="receive" />

子组件

            add() {
                //去掉前后空格
                if (!this.title.trim()) return alert('输入无效')
                //将用户的输入变成用户的todo对象
                // uuid生成全球唯一 id title:e.target.value,
                const todoObj = { id: nanoid(), title: this.title, done: false }
                this.$emit('receive',todoObj)
                // e.target.value=''//清空
                this.title = ''

            }

什么组件触发,事件名,传递的参数

  <myFooter :todos="todos" @checkAllTodo="checkAllTodo"
                            @clearAllTodo="clearAllTodo"/>

子:

            isAll: {
                get() {
                    return this.doneTotal === this.total && this.total
                },
                set(value) {
                    //对数据进行才这样
                    this.$emit("checkAllTodo",value)
                }

        methods: {
            // checkAll(e) {
            //     //对数据进行才这样
            //     this.$emit("checkAllTodo",e.target.checked)

            // },
            clear() {
                if (confirm('确定删除吗')) {
                    //通知app删除
                    this.$emit("clearAllTodo")
                }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值