Coder Social home page Coder Social logo

Comments (5)

craigrileyuk avatar craigrileyuk commented on June 22, 2024

How are you calling your layout?

It’s looks like the layout setup is running with each page load, this is to be expected if your layout isn’t persistent.

from inertia-laravel.

vitalijalbu avatar vitalijalbu commented on June 22, 2024

In DEV mode maybe it's ok because everything runs twice...

from inertia-laravel.

boutzamat avatar boutzamat commented on June 22, 2024

How are you calling your layout?

It’s looks like the layout setup is running with each page load, this is to be expected if your layout isn’t persistent.

This is an example of my index page that uses the Layout component:
`<script setup>
import DeveloperLayout from "@/Layouts/DeveloperLayout.vue";
import PrimaryButton from "@/Components/PrimaryButton.vue";
import { PlusIcon } from "@heroicons/vue/24/outline";
import { Link, usePage } from "@inertiajs/vue3";
import { Head } from "@inertiajs/vue3";

const props = usePage().props;
</script>

    <template #header>Mine projekter</template>
    <template #header_button>
        <PrimaryButton type="link" :href="route('project.create')">
            <PlusIcon class="mr-2 w-4" />
            Opret projekt
        </PrimaryButton>
    </template>

    <section v-if="!props.projects" class="rounded-3xl bg-white p-16">
        Du har ingen projekter.
        <Link :href="route('project.create')" class="text-primary underline"
            >Opret dit første projekt her </Link
        >.
    </section>
</DeveloperLayout>

`

Pretty much the out of the box way of loading the DeveloperLayout. The DeveloperLayout is just the default Layout component renamed.
I've tried with a fresh Laravel-Inertia installation too, and the issue is the same.
The event is triggered in the DeveloperLayout component.

from inertia-laravel.

boutzamat avatar boutzamat commented on June 22, 2024

In DEV mode maybe it's ok because everything runs twice...

I just tested in production mode. The issue is the same.

from inertia-laravel.

craigrileyuk avatar craigrileyuk commented on June 22, 2024

Try following the instructions for Persistent Layouts instead of wrapping your layout around your page.

The way you've done it, the layout is unmounted and then re-mounted every single time you navigate. This is likely causing the event listener to be registered multiple times.

from inertia-laravel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.