javascript - Vue鼠标悬停不会导致数据更改
问题描述
我正在尝试将v-mouseover
指令附加到引导 Vue 元素b-list-group-item
,如下所示。
<b-row>
<b-col cols="3">
<b-list-group>
<b-list-group-item :active="register"
@click="switchRegister" button
@mouseover="isRegisterHover = true"
@mouseleave="isRegisterHover = false"
class="border-0 bg-transparent register"> Register </b-list-group-item>
</b-list-group>
</b-col>
<b-col cols="9">
<div id="action-screen-canvas-register v-if="isRegisterHover"> </div>
</b-col>
</b-row>
该变量isRegisterHover
与数据中的布尔值相关联,该值决定是否显示 div。
export default {
name: 'Home',
components: {
Navi
},
data() {
return {
isRegisterHover: false,
// ...
}
},
// ...
}
问题是action-canvas-register
当我悬停该项目时 div 仍然隐藏,Vue devtool 还显示当我将鼠标悬停在它们上时数据保持不变。isRegisterHover
将鼠标悬停在项目上时如何更改值?
解决方案
如果你愿意,你也可以使用纯 CSS 来做到这一点。您可以执行以下操作:
<template>
<div id="target">Hover this</div>
<div>...</div> // This will be hidden when #target is hovered
</template>
<script>
...
</script>
<style>
#target:hover + div {
visibility: hidden; // Hides the element like v-show
or
display: none; // Hides the element like v-if
}
</style>
推荐阅读
- c++ - 从动态加载的库中意外调用函数
- python - 如何找到最大负担得起的比特币/加密货币?
- visual-studio - Visual Studio 2019 版本 16.11
- python - 在 PythonAnywhere 中使用过滤器运行 SQLAlchemy 查询
- python - Python boto3 有条件地运行 ECS 任务
- ruby-on-rails - Webpack 不处理基于 TypeScript 的 node_modules
- python - 在 site-packages 中修改 pip/conda 包
- c# - 如何使用 System.Text.Json (自定义转换器或其他方法)仅序列化对象属性的内容
- reactjs - React-Redux 更新部分状态
- node.js - 如何为 Google 登录设置我的 React 应用程序(不是 react-google-login)