实现如下功能:
在.vue文件中,template中的内容如下:
<template> <div> <nav> <ul> <li v-for="(navList,index) in navLists" :key="index" v-on:mouseover="showToggle(index)" v-on:mouseout="handleHide" > <a :href="navList.eTitle" " >{{navList.title}}</a> <ul v-show="index===isShow"> <li v-for="(item,idx) in navList.child" :key="idx" > <a :href="item.esubTitle" " v-on:click="handleHide" >{{item.subTitle}}</a> </li> </ul> </li> </ul> </nav> </div> </template>
其script标签中的数据格式:
navLists:[ { 'title':'项目信息', 'eTitle':'#projectMessage', 'child':[ { 'subTitle':'项目简介', 'esubTitle':'#projectIntroduction' }, { 'subTitle':'样品信息', 'esubTitle':'#sampleInformation' } ] }, { ... } ... ] isShow:0
函数部分:
mounted: function () { // 避免第一个渲染的显示 this.isShow = -1 }, methods: { showToggle: function (index) { this.isShow = index }, handleHide: function () { this.isShow = !this.isShow } }