Всплывающий элемент при наведении

Я просто хочу, чтобы при наведении всплывали только отдельные элементы, а не все.

lists: [{
    fruit: "Apple",
    note: "gg",
    deleteNote: false
  },
  {
    fruit: "Pear",
    note: "gg",
    deleteNote: false
  },
  {
    fruit: "Eggs",
    note: "gg",
    deleteNote: false
  }
]
<ul>
  <li v-for = "(list,index) in lists" v-bind:key = "index" @mouseover = "list.deleteNote=true;" @mouseleave = "list.deleteNote =false">{{list.fruit}}
    <p v-if = "list.deleteNote">{{list.note}}</p>
  </li>
</ul>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
50
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

У вас есть только один флаг для delete, и все кнопки удаления связаны с ним.

Вы можете сделать что-то вроде этого

<ul>
 <li v-for = "(list,index) in lists" v-bind:key = "index" @mouseover = "list.deleteNote=index;" @mouseleave = "list.deleteNote = -1">{{list.fruit}}
  <p v-if = "list.deleteNote === index">{{list.note}}</p>
 </li>
</ul>

При наведении курсора вы устанавливаете deleteNote текущий индекс, а при наведении курсора вы устанавливаете недопустимый индекс (в данном случае -1). Кнопка удаления теперь привязана к текущему индексу.

Я не думаю, что codeandbox здесь, в StackOverflow, поддерживает vue.js, поэтому я немного подправил JS в следующей скрипке. Во-первых, весь список необходимо обернуть как переменную в соответствии с Документация по рендерингу списка Vue.

Посмотрите, как я возился с вашим кодом, и я думаю, что желаемый результат здесь: https://jsfiddle.net/gve4s87L/

Ответ принят как подходящий

Ваш код не является неправильным на самом деле. Изменение deleteNote элементов, чтобы наблюдать, работает ли он более тщательно. Следующим образом отображается только примечание зависшего элемента:

new Vue({
  el: '#app',
  data: {
    lists: [{
        fruit: "Apple",
        note: "aa",
        deleteNote: false
      },
      {
        fruit: "Pear",
        note: "pp",
        deleteNote: false
      },
      {
        fruit: "Eggs",
        note: "gg",
        deleteNote: false
      }
    ]
  }
});
<script src = "https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id = "app">
  <ul>
    <li v-for = "(list,index) in lists" v-bind:key = "index" @mouseover = "list.deleteNote=true;" @mouseleave = "list.deleteNote =false">{{list.fruit}}
      <p v-if = "list.deleteNote">{{list.note}}</p>
    </li>
  </ul>
</div>

Иногда лучше сделать небольшой перерыв, я понятия не имею, почему это работает, но большое спасибо :)

quinzo 08.03.2019 22:34

Другие вопросы по теме