vue Element动态设置el-menu导航当前选中项

摘要:
p=341

1,npm install vuex --save

2,在src下新建vuex文件夹,新建store.js文件;

store.js

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)

const state = {
    count: 0,
    adminleftnavnum:"/"  //管理后台左侧导航
}
const mutations = {
    increment (state) {
        state.count++
    }  
}
// const actions = {...}
//注册Store
export default new Vuex.Store({
    state,
    mutations
});

3,在main.js下,创建和挂载根实例

new Vue({
  el: '#app',
  router,
  store,
  template: '<App/>',
  components: { App }
})

4,在components--common--side_nav.vue下(导航所在的组件)

<el-menu :default-active="navselected" :active="navselected" @select="selectItems" class="el-menu-admin" router>

添加变量和改变方法

    export default {
        components:{
            'el-menu':Menu,
            'el-submenu':Submenu,
            'el-menu-item':MenuItem,
            'el-menu-item-group':MenuItemGroup
        },
        data () {
            return {
                navselected:"/",
                openends:['1','2','3','4','5','6']//默认menu展开
            }
        },
        mounted(){
            console.log(this.navselected)   
        },
        methods:{
            getNavType(){
                this.navselected=this.$store.state.adminleftnavnum;
                //store.state.adminleftnavnum里值变化的时候,设置navselected
            },
            selectItems(index){
                console.log(index)
                this.$store.state.adminleftnavnum=index;
               //按钮选中之后设置当前的index为store里的值。
            }
        },
        watch: {
            // 监测store.state
            '$store.state.adminleftnavnum': 'getNavType'
        }
    }

5,在其他组件改变(src--components--page--home--home.vue)

this.$store.state.adminleftnavnum的值即可

export default {
        created () {
            this.$store.state.adminleftnavnum="2-2"; //设置左侧导航2-2 active
        }
    }

预览地址:https://besswang.github.io/element-admin/dist/index.html#/

参考地址:http://yaohuitao.com/?p=341

免责声明:文章转载自《vue Element动态设置el-menu导航当前选中项》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SVN权限配置专家详解,精确到某个目录vs2019使用vld检测内存泄漏下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Vue全局异常捕获

之前没注意过这么个小技巧 , 可能在Vue文档里也有 暂时先记下了 方便摘要 Vue全局配置errorHandler可以进行全局错误收集,我们可以根据这个特性对前端异常做这样的处理:业务错误直接写在业务里;代码错误、ajax请求异常等错误可以进行全局捕获然后抛出,不至于前端页面挂掉 import Vue from 'vue' //系统错误捕获 con...

vue项目中监听sessionStorage值发生变化

首先在main.js中给Vue.protorype注册一个全局方法, 其中,我们约定好了想要监听的sessionStorage的key值为’watchStorage’, 然后创建一个StorageEvent方法,当我在执行sessionStorage.setItem(k, val)这句话的时候,初始化事件,并派发事件。 1 Vue.prototype.re...

element el-upload组件获取文件名

组件的连接:http://element-cn.eleme.io/#/zh-CN/component/upload 需求:点x按钮,获取文件名传到后端服务,把文件从服务器删除 分析: 仔细看文档,会发现默认传有两个参数file,fileList,都是object类型;file.name就可以拿到当前操作的文件名...

Vue动画操作

概述 Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.css 在过渡钩子函数中使用 JavaScript 直接操作 DOM 可以配合使用第三方 JavaScript 动画库,如 Velocity.js Vue...

Vue + Element UI 实现权限管理系统 前端篇(七):功能组件封装

因为我暂时不需要第五章和第六章教程的内容所以直接进入第七章。感兴趣的可以访问原作者网站 Vue + Element UI 实现权限管理系统 前端篇(六):更换皮肤主题  Vue + Element UI 实现权限管理系统 前端篇(五):国际化实现  注:本次封装的css样式应该有点问题,但考虑时间问题没有认真修改,后续有时间重构时候补上。 组件...

Nginx线上部署多个Vue项目(路径区分)

Nginx线上部署多个Vue项目(路径区分) nginx 多静态文件部署。 我个人博客项目占用了nginx根路径,而我只有一个域名,也不准备用二级域名了, 所以就直接用路径区分开。 一个域名,只部署一个静态文件服务,那很简单,只用把打包后文件放上去就行。 多个Vue项目主要就是路径问题,静态js文件以及自定义的路由。 原文请访问 我个人博客地址 博客地址:...