Vue3中使用mitter.on和mitter.emit
由于需要在调用一个不相关的非父子组件中的方法,无法使用父子组件之间调用方法的方式,因此对事件进行监听和调用。
$on():监听事件;
$emit() 触发事件;
1、mitter.on 代码
对事件进行监听操作。
mitter.on('ToolControlHide', () => {
showBox.value = false
})
2、mitter.emit代码
在方法或者事件中直接调用,触发事件。
const ToolClick = val => {
showTool.value = !showTool.value
if (showTool.value) {
mitter.emit('ToolControlHide') //隐藏工具栏
} else {
mitter.emit('EndMeasurement') //停止量算
}
//工具栏隐藏后各工具的高亮显示取消
active.value = ''
}