2020.8.3の学習ノート
■本日の目的
Vue.jsの機能を使うこと
・レイアウト共通化
・components/AppNavigation
・layouts/default.vue
・共通ファイルの読み込み
■
AppNavigation
default.vue
読み込み(index.vue)
結果:
Index pageにナビゲーションがレンダリングされていること
〇複数レイアウトのだしわけ
single.vue
上記のままだとdefaultを読み込むので、
だしわけたいpagesのscriptのlayoutに明示的に宣言しておくこと
■ライフサイクルとレンダリングまでのプロセス
■参考サイト
Nuxt のより効果的な機能のサンプル
Vue.jsの機能を使うこと
・レイアウト共通化
・components/AppNavigation
・layouts/default.vue
・共通ファイルの読み込み
■
AppNavigation
<template>
<ul>
<li><nuxt-link to="/">home</nuxt-link></li>
<li><nuxt-link to="/child">child</nuxt-link></li>
</ul>
</template>
<template>
<div>
<span>default layout</span>
<AppNavigation />
<hr>
<nuxt />
<hr>
<footer>
footer
</footer>
</div>
</template>
<script>
import AppNavigation from '~/components/AppNavigation.vue'
export default {
components: {
AppNavigation
}
}
</script>
<script>
import AppNavigation from '~/components/AppNavigation.vue'
export default {
Index pageにナビゲーションがレンダリングされていること
〇複数レイアウトのだしわけ
single.vue
<template>
<div>
<span>single layout</span>
<AppNavigation />
<hr>
<nuxt />
<nuxt-link to="/">トップに戻る</nuxt-link>
<hr>
<footer>
footer
</footer>
</div>
</template>
<script>
import AppNavigation from '~/components/AppNavigation.vue'
export default {
components: {
AppNavigation
}
}
</script>
だしわけたいpagesのscriptのlayoutに明示的に宣言しておくこと
export default {
layout: 'single'
}
</script>
- Request
- Store Action
- Middleware->config/layout/page/children
- validate->page
- asyncData
- Render
機能実装における、それぞれの責務を分担することで、開発の迷いがなくなる。
■Middlewareによるグローバルフックの登録
■参考サイト
Nuxt のより効果的な機能のサンプル