您的位置:首頁技術文章
文章詳情頁

javascript - 底部組件,vue綁定class文字為什么不變色,如下代碼

瀏覽:103日期:2023-04-05 18:09:18

問題描述

javascript - 底部組件,vue綁定class文字為什么不變色,如下代碼

我把 data () {

return { isActive: ’a’}

},中的 ’a’,換成’b’,發表的字會變色

<template lang='html'> <p class='footer'>

<p class='footer-box'> <router-link : @click='select(’a’)' to='/' class='item'>首頁</router-link> <router-link : @click='select(’b’)' to='/create' class='item'>發表</router-link> <router-link : @click='select(’c’)' to='/message' class='item'>消息</router-link> <router-link : @click='select(’d’)' to='/user' class='item'>我的</router-link></p>

</p></template>

<script>export default { data () {

return { isActive: ’a’}

}, methods: {

select (value) { this.isActive = value}

}}</script>

<style lang='less'> .footer {

position: fixed;left: 0;bottom: 0;height: 50px;width: 100%;background-color: #fff;border-top: 1px solid #bbb;.footer-box { display: flex; height: 50px; width: 100%; line-height: 40px; .item { flex: 1; text-align: center; }}

} .active {

color: #41B883;

}</style>

問題解答

回答1:

你寫的太復雜了,這個完全可以在配置路由的時候寫一個linkActiveClass搞定的,建議去看看vue-router的文檔配置可以寫在main.js定義路由里面const router = new VueRouter({

linkActiveClass: 'active', //設置點擊狀態的classmode: ’hash’,hashbang:true,routes:routerConfig

})

然后在你的.vue樣式里加上.active{color: #41B883;}的樣式就行了

router-link寫成這樣<router-link to='/' class='item'>首頁</router-link>

回答2:

換成@click.native應該就行了,當然樓上的方法更好

回答3:

將click事件換成@click.native='select(’a’)';寫這種導航時,我通常是用這樣的方法,v-for <ul>

<li v-for='(item,index) in liData' : ><router-link :to='item.label'>{{item.name}}</router-link></li>

</ul> data(){

return { liData:[ {name:'首頁',label:'/home'}, {name:'設計器',label:'/designer'}, {name:'任務管理',label:'/taskmanger'}, {name:'節點管理',label:'/node'} ] },這里的active的變化就是根據地址欄中變化而變化,這樣前進后退都不會有問題回答4:

<router-link :to='item.url' active- tag='li' exact> </router-link>

你可以定義選定后的樣式 .act-bar{}

回答5:

<p class='footer-box'> <router-link to='/'> 首頁 </router-link></p>

.router-link-active{ color: #41B883;}

直接這樣就行了在.router-link-active設置的顏色,就是你當前點擊的router-link那一塊,激活后的樣式顏色,也可以設置其他樣式,然后其他的router-link,會恢復默認的樣式

標簽: JavaScript
国产综合久久一区二区三区