Nuxtネストルーティングnuxt-childコンポーネントの使い方(親子ページコンポーネントの送信値)


Nuxtネストルーティング公式サイト上のAPI詳細解:リンクをクリック
公式サイトのアプリを見て、公式サイトの事例が実現しました。親ページには親ページの内容しか表示されません。デフォルトでは「nuxt-child」エリアにページの内容を表示するにはどうすればいいですか?


自分のケースコード:
pages/parent.vue

<template>
 <div>
 <h2>         </h2>
 <ul>
 <!--        ,   vue.js -->
 <li><nuxt-link to='/parent/child'>child</nuxt-link></li>
 <li><nuxt-link to='/parent/child2'>child2</nuxt-link></li>
 </ul>
 <hr>
 <div class="box">
 <p>        </p>
 <!-- <nuxt-child>                      ;         -->
 <nuxt-child keep-alive :foobar="123"></nuxt-child>
 </div>
 </div>
</template>
<script>
export default {
 
}
</script>
<style scoped>
.box{
 margin-top: 20px;
 padding: 20px;
 border: 2px solid pink;
 border-radius: 5px;
}
</style>
pages/parent/index.vue

<template>
 <div>
 <h2>           index.vue</h2>
 </div>
</template>
<script>
export default {
 
}
</script>
<style scoped>
 
</style>
pages/parent/child.vue

<template>
 <div>
 <h2>         child</h2>
 <p>foobar:{{foobar}}</p>
 </div>
</template>
<script>
export default {
 props:['foobar']
}
</script>
<style scoped>
 
</style>
pages/parent/child 2.vue

<template>
 <div>
 <h2>         child2</h2>
 <p>foobar:{{foobar}}</p>
 </div>
</template>
<script>
export default {
 props: ['foobar']
}
</script>
<style scoped>
 
</style>
効果は以下の通りです


追加知識:nuxt 2級ルート
長い時間をかけて、やっとページの二級ルートの配置ができました。
まず私のカタログを見ます

ページに登録していないならば、ルートの問題を入れ替える必要はありません。主要なmenuジャンプとは直接layouts/default.vueに書くことができます。トップページはpages/index.vueに置くことができます。
はい、コアに入ります。
シーンは、ミドルウェア/authenticated.js

//         ,        ,       。
export default function ({
 store,
 redirect
}) {
 if (!store.state.user) {
 return redirect('/login')
 }
}
まず、pages/index.vueというファイルは必ずあります。これはルートのためのものです。定義されたページですが、私の本当のトップページはuser/index.vueです。
pages/index.vue下

<template>
 <div style="height:100%;">

 </div>
</template>

<script>
export default {
 created () {
 console.log(this.$router)
 this.$router.push('/login') //        
 }
}
</script>
二級ルートをロードするpages/users.vueページという意味です。

<template>
 <div style="height:100%;">
 <el-container style="height:100%">
 <el-header class="theme-bg-color">
 <my-head />
 </el-header>
 <el-container style="height:100%;">
 <my-side />
 <el-main>
 <NuxtChild :key="key"/>
 </el-main>
 </el-container>
 </el-container>
 </div>
</template>


<script>
import MySide from '~/components/MySide.vue'
import MyHead from '~/components/MyHead.vue'
export default {
 components: {
 MySide,
 MyHead
 },
 computed: {
 key() {
 return this.$route.name !== undefined? this.$route.name +new Date(): this.$route +new Date()
 }
 }
}
</script>
なお、pages/users/index.vueページでは

export default {
 name: 'users'
}
他のページ、たとえばpages/users/ditch.vueページにあります。

export default {
 name: 'users-ditch'
}
必ずこのようにnameを書いてください。公式サイトでもこのように説明しています。
まとめ、入れ子ルート(二級ルートの書き方)
一、ページにはuser.vueがあります。フォルダも同じ名前のuserが必要です。
二、index.vueページがあるといいです。
三、nameフォーマット。
ソースの住所:
https://github.com/besswang/rj-payadmin-nuxt
以上のNuxtネストルーティングnuxt-childコンポーネントの使い方(親子ページコンポーネントの送信値)は、小編集で皆さんに共有されたすべての内容です。参考にしていただきたいです。どうぞよろしくお願いします。