1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Styles werden beim direkten wechsel nicht übernommen

    • TypeScript
    • Problem
  • Syntafin
  • 5. Juni 2025 um 20:59
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Syntafin
    Punkte
    7.925
    Beiträge
    1.439
    • 5. Juni 2025 um 20:59
    • #1

    Ich mal wieder, mit etwas was mich gerade echt.... übelst nervt!

    Um die Navigation (egal ob Mobile oder Desktop) zu vereinheitlichen nutze ich ein Composable das ich einfach lade und darüber iteriere, das sieht auch ganz klein und fein so aus:

    TypeScript
    import {
        HomeIcon,
        NewspaperIcon,
        BuildingOfficeIcon,
        IdentificationIcon,
        PhotoIcon,
        EnvelopeIcon
    } from '@heroicons/vue/24/outline';
    
    export const navigation = [
        { id: 1, name: 'Home', href: route('home'), icon: HomeIcon, current: route().current('home') },
        { id: 2, name: 'News', href: route('post.index'), icon: NewspaperIcon,current: route().current('post.*') },
        { id: 3, name: 'Divisions', href: route('division.index'), icon: BuildingOfficeIcon,current: route().current('division.*') },
        { id: 4, name: 'About us', href: route('aboutus'), icon: IdentificationIcon,current: route().current('aboutus') },
        { id: 5, name: 'Gallery', href: '#', icon: PhotoIcon,current: false },
        { id: 6, name: 'Contact', href: '#', icon: EnvelopeIcon,current: false },
    ];
    Alles anzeigen

    Das ganze funktioniert ja auch ganz schön dann in der Komponente:

    HTML
    <Link
        v-for="item in navigation"
        :key="item.id"
        :href="item.href"
        :class="[item.current ? 'bg-blue-950 text-white' : 'hover:bg-blue-800', 'inline-flex flex-col items-center text-xl font-bold rounded px-3 py-3']"
        :aria-current="item.current ? 'page' : undefined"
    >
        <component :is="item.icon" class="size-6" />
        {{ item.name }}
    </Link>

    Jetzt aber das Problem: Wechsle ich dann die Seite, wird der Current State nicht gesetzt, um das zu verdeutlichen, hab ich das eben fix mal aufgenommen als Video:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Damit die "neue" Seite auch in der Navigation als aktuelle highlighted ist, muss ich erst alles neu laden, nicht der Sinn der Sache. Jemand vielleicht hier eine Idee wo eventuell mein Denkfehler ist?

    Als Info natürlich vergessen: Die route() funktion wird durch Ziggy bereitgestellt, ob das Problem auch mit Wayfinder besteht werde ich erst Sonntag Abend/Montag ausprobieren können.

  • Testie
    Punkte
    5
    Beiträge
    1
    • 8. Juni 2025 um 03:01
    • #2

    Hallo, sieht nach einem Zeitproblem aus. Zum Zeitpunkt wo die navi in TS geladen wird, ist wohl im Router current noch nicht gesetzt.
    Schwer zu sagen wenn man nicht alle Projektdateien kennt.

    Viele Grüße

  • Syntafin
    Punkte
    7.925
    Beiträge
    1.439
    • 8. Juni 2025 um 11:09
    • #3
    Zitat von Testie

    Schwer zu sagen wenn man nicht alle Projektdateien kennt.

    Was fehlt dir denn?

Tags

  • typescript
  • VueJS
  • ziggy
  1. Datenschutzerklärung
  2. Impressum