Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ JavaScript _ Proste menu parent/child w Vue 3

Napisany przez: phpamator 17.03.2022, 21:18:20

Hej hej Panie i Panowie,

Potrzebuję pomocy bo utknąłem albo raczej nie wiem czy droga którą obrałem aby na pewno przyniesie rezultat jakiego oczekuję, mianowicie sporządziłem (nigdy wczesniej) proste menu i nawet mam udało się uzyskać zamierzony efekt chociaż nie do końca.
Dostarczam dane json'em w którym znajdują się tytuły, linki, id nadrzędnego poziomu menu i wygenerowany kod owszem pokazuje listę w której te które powinny być sub-menu ... są.
teraz .... nie potrafię tego dalej powiązać aby onhover/onmouseover pokazywały się te elementy które są dziećmi (.sub-menu).
a może ten koncept jest całkowicie pozbawiony sensu ?


  1. <http://december.com/html/4/element/ul.html
  2. class="list-none ml-0 pl-0 relative font-avenir text-white text-xl uppercase leading-relaxed"
  3. >
  4. <http://december.com/html/4/element/li.html v-for="(link, key) in menu" :key="key" class="mb-2">
  5. <template v-if="link.menu_item_parent != '0'">
  6. <http://december.com/html/4/element/a.html
  7. :href="link.url"
  8. class="text-white tracking-widest sub-menu"
  9. @mouseenter="hoverLink(link.image, 'enter')"
  10. @mouseleave="hoverLink(link.image, 'leave')"
  11. > {{ link.name }} </http://december.com/html/4/element/a.html>
  12. </template>
  13. <template v-else>
  14. <http://december.com/html/4/element/a.html
  15. :href="link.url"
  16. class="text-white tracking-widest"
  17. @mouseenter="hoverLink(link.image, 'enter')"
  18. @mouseleave="hoverLink(link.image, 'leave')"
  19. > {{ link.name }} </http://december.com/html/4/element/a.html>
  20. </template>
  21.  
  22. </http://december.com/html/4/element/li.html>
  23. </http://december.com/html/4/element/ul.html>
  24.  
  25.  
  26. <http://december.com/html/4/element/script.html>
  27. export default {
  28. props: ["menu"],
  29. data() {
  30. return {
  31. show: false,
  32. linkImage: 'default',
  33.  
  34. };
  35. },
  36. methods: {
  37. toggle() {
  38. this.show = !this.show;
  39. },
  40. hoverLink(image, state) {
  41. this.linkImage = state === "enter" ? image : 'default';
  42. }
  43. },
  44. computed: {
  45.  
  46. },
  47. mounted() {}
  48. };
  49. </http://december.com/html/4/element/script.html>
  50.  


Podpowiedzcie, jak to powinno wyglądać?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)