我有這樣的代碼CLIC觸發兩次Vue.js
displayGeneralTip (bool) {
this.generalTip = bool
}
<div v-if="!generalTip" class="sm-exercise-tip sm-exercise-general-tip" @click="displayGeneralTip(true)">
<img src="~assets/exercises/bulb.svg" alt="Ampoule éteinte">
<span>Astuce</span>
</div>
<div v-if="generalTip" class="sm-exercise-block sm-exercise-general-tip-expand">
<div class="general-tip-bulb-icon">
<img src="~assets/exercises/lighted-bulb.svg" alt="Ampoule allumée">
</div>
<div class="sm-exercise-block-tip">Some text</div>
<div class="sm-exercise-hide-answer" @click="displayGeneralTip(false)">
<span>Masquer</span>
<img src="~assets/exercises/eye.svg" alt="masquer">
</div>
</div>
最初,generalTip被設置爲假。 當點擊第一個div顯示文本時,它工作正常。第一塊消失,第二塊出現。
但是當點擊div來隱藏答案(sm-exercise-hide-answer)時,它會用bool false觸發方法displayGeneralTip,但在它觸發與bool true相同的方法之後。就好像我們也點擊了第二個div和第一個div。
我試圖把div與文本其他地方放在我的頁面,它工作正常。當兩個div必須在頁面上的相同位置時出現問題
任何人都有這個問題?
嘗試'@ click.stop'或@ click.self – WaldemarIce