javascript - Vue.js - 如何隐藏带有悬停事件的图像并显示另一个?
问题描述
我有两张图片,接下来我想看看它们的行为。默认情况下,图像将显示名称为“home”,事件“mouseover”我想隐藏并显示名称为“blackhome”的图像。我在屏幕上显示了两个图像,鼠标事件没有任何反应,我不知道这是否可能。这是问题 https://codepen.io/CharlieJS/pen/gOrayzW的 codepen 链接
这是我的模板
<li class="nav-item" @mouseover="homeLink = !homelink" @mouseleave="!homeLink" >
<a class='nav-link home' href="https://www.google.com/">
<img v-if="homeLink" class="logo" src="../../assets/home.png">
<img v-if="!homelink" src="../../assets/blackhome.png">
</a>
</li>
和我的剧本
export default {
data: function () {
return {
homeLink: false
}
},
computed: {
auth () {
return this.$store.getters.isAuthenticated
}
},
methods: {
onLogout() {
this.$store.dispatch('logout')
},
}
}
</script>
提前感谢您的时间和帮助
解决方案
尝试v-if
如下v-else
:
<li class="nav-item" @mouseover="homeLink = !homelink" @mouseleave="homeLink=false" >
<a class='nav-link home' href="https://www.google.com/">
<img v-if="homeLink" class="logo" src="../../assets/home.png"/>
<img v-else src="../../assets/blackhome.png"/>
</a>
</li>
let app = new Vue({
el: "#app",
data: function() {
return {
homeLink: false
}
},
})
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<div id="app">
<li class="nav-item" @mouseover="homeLink = !homelink" @mouseleave="homeLink=false">
<a class='nav-link home' href="https://www.google.com/">
<img v-if="homeLink" class="logo" src="https://picsum.photos/300/200?image=244" />
<img v-else src="https://picsum.photos/300/200?image=1024" />
</a>
</li>
</div>
推荐阅读
- java - 在 java.util.Date 和 java.time.Instant 之间转换古代日期时的差异
- google-apps-script - 根据单元格值隐藏工作表
- python - 更新 Kivy 弹出窗口中显示的进度条
- android - 是否可以在不使用 Intent 的情况下从 Activity B 调用来自 Activity A 的方法?
- ruby-on-rails - 使用 rails 中的 send_file 发送文件时未收到文件
- android - 在 AlertDialog 中显示带有值的微调器
- php - 用户上传新图片时删除文件夹中的上一张图片 laravel
- jakarta-ee - 如何访问 weblogic 集群中 adminserver 的 JNDI 树?
- webtask - 如何在 webtask 中使用 res.redirect?
- php - 使用带有数字索引的 php 提取函数