少学习多摸鱼

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 @ 2023-03-06 15:38  北海之上  阅读(22)  评论(0)    收藏  举报
/* 粒子吸附*/