1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • 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
  • Syntafin
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.798
    Trophäen
    2
    Beiträge
    1.416
    • 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.

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Testie
    1
    Testie
    Mitglied
    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
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.798
    Trophäen
    2
    Beiträge
    1.416
    • 8. Juni 2025 um 11:09
    • #3
    Zitat von Testie

    Schwer zu sagen wenn man nicht alle Projektdateien kennt.

    Was fehlt dir denn?

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Tags

  • typescript
  • VueJS
  • ziggy

Benutzer online in diesem Thema

  • 2 Besucher

Rechtliches

Impressum

Datenschutzerklärung