day85-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} ) } }, }
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') },
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗