提出问题
el-dropdown 下拉菜单,通过 @click 增加点击事件,是不好使的
解决方式一(官方用法)
此用法比较麻烦复杂
<template>
<div >
<el-dropdown @command="handleCmd">
<span class="el-dropdown-link">
韩梅梅 <i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item >修改密码</el-dropdown-item>
<el-dropdown-item command="logout">退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
</div>
</template>
<script>
export default{
name:"UserHeader",
methods:{
handleCmd(cmd){
console.log("cmd:",cmd)
if(cmd == 'logout'){
this.$router.push("/login")
}
}
}
}
</script>
解决方式二
通过 @click.native="logout" 原生事件实现,简单
<template>
<div >
<el-dropdown>
<span class="el-dropdown-link">
韩梅梅 <i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>修改密码</el-dropdown-item>
<el-dropdown-item @click.native="logout">退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
</div>
</template>
<script>
export default{
name:"UserHeader",
methods:{
logout:function(){
this.$router.push("/login")
}
}
}
</script>
参考:
https://segmentfault.com/q/1010000012916163/a-1020000013005328
