2017-08-03 48 views
0

我的問題是如何在mouseover上運行一次Vue方法,而不是在mousein和mouseout上運行它。Vue.js 2/Javascript mouseover方法在mousein和mouseout上應用事件

例如,下面是我使用Vue公司,在那裏我通過一些數據循環的模板,我希望有一個叫showSkill()方法只火一次,它是目前mousein /鼠標移開發射兩個:

<div class="col-md-3" v-for="skill in skills" :key="skill.id"> 
    <label :for="skill.nickname">{{ skill.name }}</label> 
    <div :id="skill.nickname" @mouseover="showSkill(skill)"></div> 
</div> 

這裏是方法:

showSkill(skill) { 
    jQuery(`#${skill.nickname}`).empty() 
    this.drawDonutChart(`#${skill.nickname}`, (skill.level/100).toFixed(2) * 100, 200, 200, '.35em') 
}, 

我覺得這是一個事件的問題比Vue公司的問題更多。任何建議將不勝感激!

+0

我只能讓它開火一次。 [小提琴](https://jsfiddle.net/f2b513uo/)。 –

回答

2

使用once修飾符。

<div :id="skill.nickname" @mouseover.once="showSkill(skill)"></div> 
+0

這是一個了不起的功能,正是我一直在尋找的。謝謝Bert! – lnamba