一応同じメソッドでやりたい場合は下記のようにできると思います!
js
1new Vue({
2 el: "#app",
3 data: {
4 isActive: false,
5 selected: '',
6 },
7 methods: {
8 mouseOver: function(item){
9 this.selected = item;
10 this.isActive = true
11 },
12 mouseLeave: function(){
13 this.isActive = false;
14 this.selected = '';
15 }
16 },
17})
html
1<li class="nav-li"><a>1</a></li>
2<li class="nav-li"><a>2</a></li>
3<li class="nav-li" @mouseover="mouseOver(2)" @mouseleave="mouseLeave" >3</li>
4 <ul class="nav-ul-child" :class='{active:selected===2}'>
5 <li><a>3-1</a></li>
6 <li><a>3-2</a></li>
7 </ul>
8<li class="nav-li" @mouseover="mouseOver(4)" @mouseleave="mouseLeave">4</li>
9 <ul class="nav-ul-child" :class='{active:selected===4}'>
10 <li><a>4-1</a></li>
11 <li><a>4-2</a></li>
12 </ul>