如何忽略 svelte-kit 中的默认布局?

How can I ignore default layout in svelte-kit?

./routes/login 页面我需要不同的布局...我试图忽略主 ./routes/__layout.svelte 文件,因为我不需要边栏。

<script>
    import NavBar from '../components/NavBar.svelte';
</script>

<main>
    {#if segment === 'login'}
        <section>
            <slot />
        </section>
    {:else}
        <NavBar />
        <section>
            <slot />
        </section>
    {/if}
</main>

<style>
    main {
        display: flex;
        justify-content: flex-start;
    }

    section {
        padding: 2.4rem;
        width: 100%;
        background-color: #f2f6fa;
    }
</style>

我收到一个错误 segment is not defined

为什么不直接重置布局,这是 sveltekit 的内置功能。只需在 /routes 路由中创建一个名为 __layout-foo.svelte 的文件。然后你可以将你想要的所有组件放入文件中 https://kit.svelte.dev/docs/layouts#named-layouts

然后在您的页面中解决它:

src/routes/my-special-page@foo.svelte
<h1>I am inside __layout-foo</h1>