Vuetify 2:为何v-on="on"生效,其他v-on值却不生效?
关于Vuetify
v-tooltip中activator插槽on参数的疑问解答 这不是v-on="on"有特殊机制,而是Vuetify的v-tooltip组件对activator插槽的约定式设计:
v-tooltip的activator插槽会向父组件暴露一个作用域对象,这个对象里固定包含名为on的属性——它是一个封装了提示框显示/隐藏所需事件监听(比如mouseenter、mouseleave)的对象。- 你在
<template v-slot:activator="{on}">里用的是ES6解构语法,必须精准匹配组件传递的属性名on才能拿到这个事件监听对象。如果改成ox,就相当于从作用域对象里提取不存在的属性,结果是ox为undefined,绑定到v-on上自然无效。 v-on="on"是Vue的事件绑定对象语法:它会把on对象里的所有键值对(比如{ mouseenter: 显示提示函数, mouseleave: 隐藏提示函数 })批量绑定到<p>元素上,这样hover元素时才会触发提示框的显示/隐藏逻辑。
简单说:组件只给你传叫on的东西,你得用这个名字接,换别的名字就接不到,自然没法触发后续逻辑。
内容的提问来源于stack exchange,提问作者jason44107
相关产品推荐
相关产品推荐

