實現思路:
在el-menu-item
中綁定點擊事件,每次點擊的時候,把item的值
傳入進去,把vuex
的item
設置成點擊的item。 具體看代碼:
1、 拷貝面包屑導航
<el-breadcrumb separator="/"> <el-breadcrumb-item :to="{ path: '/' }">首頁</el-breadcrumb-item> <el-breadcrumb-item><a href="/">活動管理</a></el-breadcrumb-item> </el-breadcrumb>
2、 因為是跨組件間的傳值,所以使用vuex,把vuex給分離出來
//導入vux import tab from 'tab' //分離 state,actions, mutations, export default new Vuex.Store({ modules:{ tab } })
export default { state: { menu: [], //菜單 curentMenu: null //當前點擊的菜單 } mutations:{ //每次點擊的時候,把菜單傳入 selectMenu(state, value) { console.log(value,'value') //當前點擊的菜單 //判斷是否點擊到home標簽 if (value.name !== 'home') { state.curentMenu = value } else { state.curentMenu = null; } } } }
根據思路,在el-menu-item
中綁定點擊事件
clickMenu(item) { this.$store.commit('selectMenu', item) }
在頭部部分寫入
import {mapState} from 'vuex' computed: { ...mapState({ current:state=>state.tab.curentMenu }) }, <el-breadcrumb separator="/"> <el-breadcrumb-item :to="{ path: '/' }">首頁</el-breadcrumb-item> <el-breadcrumb-item to="current.path" v-if="current" > <!-- 不存在current為null--> {{current.label}} </el-breadcrumb-item>