Nuxt3パブリックベータ版時点の情報となります。
Nxut3でレイアウトファイルを使用するには
Nxut3でレイアウトファイルを使用するには、<NuxtLayout>
コンポーネントを使用します。
pages/test.vue
<template>
<NuxtLayout>
test.vue
</NuxtLayout>
</template>
レイアウトファイルは「layouts」ディレクトリのVueファイルを参照します。
Nxut3のアプリ立ち上げ時にはまだ作成されていないので、自分でディレクトリから作成する必要があります。
% mkdir layouts && touch $_/default.vue
レイアウトファイル => ページの呼び出し
レイアウトファイルからページを呼び出すには<slot />
を使用します。
layouts/default.vue
<template>
<div>
<div>
<NuxtLink
to="/"
>
Home
</NuxtLink>
</div>
<!-- pagesの呼び出し -->
<slot />
</div>
</template>
ページファイル => レイアウトの呼び出し
ページファイルからレイアウトを呼び出すには<NuxtLayout>
コンポーネントを使用します。
この時使用されるレイアウトファイルは
pages/test.vue
<template>
<NuxtLayout>
test.vue
</NuxtLayout>
</template>
name
プロパティにファイル名を指定することでカスタムレイアウトを使用できます。
pages/test.vue
<!-- layouts/app.vueが使用される -->
<NuxtLayout name="app">
page content
</NuxtLayout>
setup
内でdefinePageMeta
を使用してカスタムレイアウトを指定することができます。
pages/test.vue
<!-- 下記は <NuxtLayout name="app"> と同じ -->
<template>
<NuxtLayout>
test.vue
</NuxtLayout>
</template>
<script setup lang="ts">
definePageMeta({
layout: "app"
})
</script>
← Prev
Next →
あなたの力になれること
私自身が独学でプログラミングを勉強してきたので、一人で学び続ける苦しみは痛いほど分かります。そこで、当時の私がこんなのあったら良いのにな、と思っていたサービスを立ち上げました。周りに質問できる人がいない、答えの調べ方が分からない、ここを聞きたいだけなのにスクールは高額すぎる。そんな方に向けた単発・短期間メンターサービスを行っています。
独学プログラマのサービス
Nuxt3の投稿
1
Nuxt3 Betaをブラウザに立ち上げる【Nuxt3 × VSCodeセットアップ】
2
Nuxt3のsetup内ではthisの代わりにuseNuxtApp()を使用する
3
Nuxt3でレイアウトファイルを使用するには<NuxtLayout>を使う
4
Nuxt3で動的ルーティングを生成するには[id].vueを作成する
5
Nuxt3のmiddlewareの登録と呼び出し&Beta版のバグとその回避策
6
Nuxt3betaのServerMiddlewareで特定ルートのみ発火させる方法は動かない
7
importする自作プラグインはserver/apiには置けない
8
Nuxt3でinjectみたいに自作クラスを登録するにはprovideを使う
9
Nuxt3のuseFetch()で2回目以降のapiがスルーされる問題
1
Nuxt3を使ってShopifyの商品一覧を取得しよう
2
Nuxt3をNetlifyCLIとnetlify.tomlを使ってNetlifyにデプロイしよう
3
Nuxt3のserver/apiとuseFetchを使用してShopifyへサーバーAPIリクエストを実装
4
Nuxt3でShopifyのCheckoutIDが付与されたURLにリダレクト処理を行う
5
【Nuxt3×Shopify】Piniaを導入した商品取得のベストプラクティス