摸鱼少学习多

day85-todoList消息订阅与发布改进

todoList消息订阅改进

item

复制代码
 handleCheck(id) {
       // 通知App组件将对应todo的done取反
       // pubsub.publish('checkTodo', id)
       // this.checkTodo(id)
       this.$bus.$emit('checkTodo',id)
     },
     handleDelete(id) {
       if(confirm('确定删除吗?')){
         // 通知App组件删除对应的todo
         pubsub.publish('deleteTodo', id)
         // this.$bus.$emit('deleteTodo',id)
       }
     },
     handleEdit(todo) {
       // 判断todo身上是否有isedit
       if(todo.hasOwnProperty.call('isEdit')) {
         todo.isEdit = true
       }else {
         this.$set(todo, 'isEdit', true)
       }
       this.$nextTick(() => {
         this.$refs.inputTitle.focus()
       })
     },
     handleBlur(todo, e) {
       let id = todo.id
       let title = e.target.value
       todo.isEdit = false
       if(!e.target.value.trim()) return alert('输入不能为空')
       pubsub.publish('updateTodo', {id, title} )
     }
   },
 }
复制代码

 

app

复制代码
 mounted() {
   // this.pubId_check = pubsub.subscribe('checkTodo', this.checkTodo)
   this.pubId_delete = pubsub.subscribe('deleteTodo', this.deleteTodo)
   // this.pubId_update = pubsub.subscribe('updateTodo', this.updateTodo)
   this.$bus.$on('checkTodo',this.checkTodo)
   // this.$bus.$on('deleteTodo',this.deleteTodo)
 },
 beforeDestroy() {
   // pubsub.unsubsribe(this.pubId_check)
   pubsub.unsubsribe(this.pubId_delete)
   // pubsub.unsubsribe(this.pubId_update)
   this.$bus.$off('checkTodo')
   // this.$bus.$off('deleteTodo')
 ​
 },
复制代码

 

 
posted @   北海之上  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
/* 粒子吸附*/
点击右上角即可分享
微信分享提示