<html>
<head>
<title>$emit 和 $on</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="root">
<button @click="boost">触发事件</button>
</div>
<script> new Vue({ el: '#root', data() { return { message: 'hello vue' } }, created() { this.$on('my_events', this.handleEvents) }, methods: { handleEvents(e) { console.log(this.message, e) }, boost() { this.$emit('my_events', 'my params') } } }) </script>
</body>
</html>
复制代码
首先先看官方文档 javascript
能够看出,他主要是和$emit 配合使用。第一个是 事件 名称(也能够是一个数组,经过调试也能够看出来)。 第二个是回调函数,也就是 事件的执行函数html
也是先看官方文档vue
$emit链接java
官方文档上说的是,附加参数会传给监听器回调,但事实上是npm
这个缘由是什么呢? 我也尝试了利用数组循环,一样也不行。只会console.log 第一个,若是传入的是一个数组,会直接把数组输出api
请教各位大佬。数组