Appearance
<NuxtPage>
- 页面组件
<NuxtPage>
是 Nuxt 自带的一个内置组件。<NuxtPage>
组件需要用来显示位于pages
目录下的顶层或嵌套页面。
Props
<NuxtPage>
是 Vue Router 中<RouterView>
组件的封装。和<RouterView>
一样接受name
和route
Props,额外还接受一个pageKey
属性。
name
type:
string
name
帮助RouterView
在匹配的路由记录的组件选项中使用相应的名称渲染组件。参考Vue Router的命名视图route
type:
RouteLocationNormalized
route
是一个路由地址的所有组件都已被解析(如果所有组件都被懒加载)。参考<router-view>
的route属性Nuxt 通过扫描和渲染
pages
目录中的所有 Vue 组件文件,自动解析name
和route
。pageKey
type: 'string' | 'function'
pageKey
有助于<NuxtPage>
组件被重新渲染的时候有更多的控制。通过传递
static
key,<NuxtPage>
组件在挂载时只呈现一次。如:
<!-- static key --> <NuxtPage page-key=“static” />
也可以在
pages
目录的 Vue 组件中使用definePageMeta
方法传递。如:
<script setup> definePageMeta({ key: route => route.fullPath }) </script>
自定义 Props
<NuxtPage>
也接受自定义的Props
,如需要将值传递到子组件中时。这些自定义Props
可以通过 Nuxt 中的attrs
访问。
<NuxtPage :foobar=“123” />
在上面的示例中,可以使用attrs.foobar
获得foobar
的值。