<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div id="app"></div> </body> </html> <script src="./vue.js"></script> <script> var vm = new Vue({ el:"#app" }) function fn1(val){ console.log(111,val) } function fn2(val){ console.log(222,val) } function fn3(val){ console.log(333,val) } // vm.$on("handle",fn1) // vm.$on("handle",fn2) // vm.$on("handle",fn3) // vm.$off("handle",fn2) vm.$once("handle",fn1) vm.$once("handle",fn2) vm.$once("handle",fn3) vm.$emit("handle","不要睡觉了,好不好") vm.$emit("handle","不要睡觉了,好不好") /* vm.$on:事件的监听 参数1:事件的名称 参数2:需要绑定的函数 vm.$once :事件的监听 只会监听一次 参数1:事件的名称 参数2:需要绑定的函数 vm.$off: 事件的解绑 参数1:需要解绑的事件 (如果参数2不存在则解绑所有) 参数2:需要解绑的函数 vm.$emit :事件的处理 参数1:需要触发的事件名称 参数2:需要传递的参数 */ </script>