Vue.js 添加活动类:单击
单击链接时,添加活动类时遇到问题 我有一个动态类设置,带有一个click侦听器,它将一个参数传递给函数,但该类不会更新。我不知道为什么。刷新页面时,“仪表板”链接为红色,因此我知道它在一定程度上正常工作Vue.js 添加活动类:单击,vue.js,Vue.js,单击链接时,添加活动类时遇到问题 我有一个动态类设置,带有一个click侦听器,它将一个参数传递给函数,但该类不会更新。我不知道为什么。刷新页面时,“仪表板”链接为红色,因此我知道它在一定程度上正常工作 <template> <b-list-group> <b-list-group-item v-for="(link, index) in menu" :key="index" :href="link.sectionId
<template>
<b-list-group>
<b-list-group-item
v-for="(link, index) in menu"
:key="index"
:href="link.sectionId"
:class="{active: link.title === selectedLink}"
:click="isActive(link.title)"
>
{{link.title}}
</b-list-group-item>
</b-list-group>
</template>
<script>
export default {
data() {
return {
selectedLink: 'Dashboard',
menu: [
{
title: 'Dashboard',
icon: labStuffs,
sectionId: '#'
},
{
title: 'Lactose intolerance',
icon: labStuffs,
sectionId: '#'
}
]
}
},
methods: {
isActive(title) {
this.selectedLink === title
}
}
}
</script>
<style scoped lang="scss">
.active {
background-color: red;
}
</style>
应更改已单击链接的背景颜色。只有dashboard链接是红色的,每当我单击任何其他内容时,都不会发生任何事情。下面是代码的工作示例 我将:click改为@click,如下所示
methods: {
isActive(title) {
this.selectedLink = title // Had === before
}
}
你的方法中的this.selectedLink===title不应该是this.selectedLink=title吗?我收到一个控制台警告,说有一个无限循环哦,你在b-list-group-item上有一个href和一个click事件,它在html中呈现为锚定标记。是否希望在同一逻辑中处理路由更改和活动类?另外,它不应该是@click而不是:clickNice idea@BrandonFranklin,但是即使没有href,它也不会改变背景颜色。非常感谢!