Vue.js 当:属性获取假值时,如何从路由器链接中删除活动类?
我在vue中使用路由器链接作为菜单。 我想在Vue.js 当:属性获取假值时,如何从路由器链接中删除活动类?,vue.js,bootstrap-vue,Vue.js,Bootstrap Vue,我在vue中使用路由器链接作为菜单。 我想在routeName为specificName1或specificName2时启用链接。 我在:to属性中使用if子句,并使链接被禁用和启用。 但是当:to属性为false时,将禁用,但具有活动类。 我如何使它被禁用,但禁用类 Vue.component('customIcon'{ 模板:` ` }) 新Vue({ el:“应用程序”, 数据(){ 返回{ routeName:'specificName1', 菜单:[ {收件人:'link1',姓名:
routeName
为specificName1
或specificName2
时启用链接。
我在:to
属性中使用if子句,并使链接被禁用和启用。
但是当:to
属性为false时,将禁用,但具有活动类。
我如何使它被禁用,但禁用类
Vue.component('customIcon'{
模板:`
`
})
新Vue({
el:“应用程序”,
数据(){
返回{
routeName:'specificName1',
菜单:[
{收件人:'link1',姓名:'name1'},
{收件人:'link2',姓名:'name2'},
{收件人:'link3',姓名:'name3'}
]
}
}
});代码>
当您位于路由器链接到属性的同一URL中时,元素类将处于活动状态
例如,如果您在搜索页面中,以下元素类将处于活动状态:
<router-link to="/search"></router-link>
我想出了一个解决办法。基于此,vue路由器
不提供disabled
属性,因此您可以使用CSS
来实现此功能
我试图模拟您的情况,因为我看不到您代码片段的结果。如果它需要任何更新,请让我知道
Vue.use(VueRouter)
常量名称1={
模板:`Name1`,
}
常数名称2={
模板:`Name2`,
}
常数名称3={
模板:`Name3`,
}
常量specificName1={
模板:`specificName1`,
}
常数路由=[{
路径:'/name1',
名称:'name1',
组件:名称1
},
{
路径:'/name2',
名称:'name2',
组件:名称2
},
{
路径:'/name3',
名称:'name3',
组件:名称3
},
{
路径:'/specific',
名称:“specificName1”,
组件:specificName1
},
]
常量路由器=新的VueRouter({
路线,
})
var app=新的Vue({
el:“#应用程序”,
路由器,
数据(){
返回{
routeName:'specificName1',
菜单:[{
致:‘link1’,
名称:“名称1”
},
{
致:'link2',
名称:“名称2”
},
{
致:'link3',
名称:'name3'
},
{
致:'特定',
名称:“specificName1”
}
]
}
},
})
a{
颜色:黑色;
文字装饰:无;
填充:1rem;
}
a、 路由器链路激活{
字体大小:粗体;
颜色:绿色;
文字装饰:下划线;
}
.残疾人{
指针事件:无;
}
{{name}}
我无法看到输出,因为您的代码段有错误。但我认为问题在于,当to
参数不等于特定的
值时,您需要添加一个禁用的
类。如果这是您的问题,您可以简单地将:class=“[routeName!=='specificName1'&&routeName!=='specificName2'?'disabled':''”
添加到您的元素中。问题是已禁用
将添加到标记中,但不会显示在样式控制台中。为什么当:to
有false
值时,isActive会得到true
?这是真的。但是如果您在/search
页面中,并且另一个链接有:to=false
,那么它也会有活动类。如何生成:若要使链接为false,则无法获取活动类?请在更改链接后尝试此操作。$forceUpdate()。