javascript - Vue删除路由观察器上的类
问题描述
我在 Vue 构建中遇到了一个移动下拉菜单的小问题。我正在使用最大高度过渡来为汉堡图标的单击事件的下拉菜单设置动画。按预期工作,但我的问题是当我单击不同的页面路由时,页面路由会更改,然后此过渡动画再次触发。有没有办法让菜单关闭而不改变页面路径的转换?我想要一个更干净的更改,单击路由器 > 转到页面 > 菜单关闭而不转换。
<!-- main nav -->
<ul class="row--flex main-navigation" :class="{ 'is-open': activeMenu }">
<!-- nav item -->
<li class="nav-item">Nav Item
</li>
<!-- nav item -->
<li class="nav-item">Nav Item
</li>
<!-- nav item -->
<li class="nav-item">Nav Item
</li>
</ul>
export default {
name: "Navigation",
components: {
Menu
},
data() {
return {
activeMenu: false,
};
},
watch: {
$route() {
this.activeMenu = false;
}
}
};
CSS:
.main-navigation {
z-index: 2;
display: flex;
justify-content: space-between;
width: 100%;
max-width: 763px;
@media (max-width: $mobileMax) {
position: absolute;
top: 100%;
left: 0;
overflow: hidden;
align-items: flex-start;
flex-direction: column;
width: 100vw;
max-width: 100vw;
max-height: 0;
margin: 0 calc(-50vw + 50%);
transition: max-height 0.5s ease-in-out;
}
}
@media (max-width: $mobileMax) {
.is-open {
max-height: 273px;
}
}
解决方案
推荐阅读
- php - 从php中的两个数组生成所有组合
- html - 悬停按钮无法使用关键帧正确减少
- php - 递归关系搜索功能
- c# - 如何使用 C# 中的数据集将数据导出到对齐的 .txt 文件
- python-3.x - 错误:(gcloud.app.deploy)无法识别为有效的源目录或文件
- c# - 如何通过 SignalR 方法获得对象填充?
- r - ggplot2 - geom_histogram / scale_fill_manual
- excel - 代码更改对角线的边框,但是一旦粘贴值,其他单元格也会更改?
- ruby-on-rails - 如何将自我从模型传递到服务对象
- c++ - 三个维度的行主存储和列主存储之间的就地转换