返回介绍

页面和布局 Pages Layouts

发布于 2024-04-18 00:42:18 字数 2105 浏览 0 评论 0 收藏 0

app.vue

Nuxt 3 通过 ~/app.vue 为您的应用程序提供一个中央入口点。 如果你的源目录中没有 app.vue 文件,Nuxt 将使用它自己的默认版本。

此文件非常适合放置任何需要在您的应用程序启动时运行一次的自定义代码,以及您应用程序每个页面上出现的任何组件。 例如,如果您只有一个布局,则可以将其移至 app.vue

阅读更多关于 app.vue 的信息

迁移步骤

如果您在应用程序中为多个页面使用布局,则只需稍作更改。

在 Nuxt 2 中,<Nuxt> 组件在布局中用于呈现当前页面。 在 Nuxt 3 中,布局使用插槽代替,因此您必须用 <slot /> 替换该组件。 这也允许具有命名和作用域插槽的高级用例。 阅读更多关于布局的信息

您还需要使用“definePageMeta”编译器宏更改定义页面使用的布局的方式。 布局将采用烤肉串包装。 因此,当在您的页面中引用时,layouts/customLayout.vue 变成了 custom-layout

迁移步骤

Nuxt 3 附带一个可选的“vue-router”集成,由源目录中存在的“pages/”目录触发。 如果你只有一个页面,你可以考虑将它移动到 app.vue 以获得更轻的构建。

动态路由

全局 NuxtLink 组件的大部分语法和功能都是相同的。 如果您一直在使用快捷方式 <NLink> 格式,您应该更新它以使用 <NuxtLink>

<NuxtLink> 现在是 all 链接的直接替代品,甚至是外部链接。 您可以阅读更多关于它的信息,以及如何扩展它以提供您自己的链接组件,在文档中

编程式导航

从 Nuxt 2 迁移到 Nuxt 3 时,您将必须更新以编程方式导航用户的方式。 在 Nuxt 2 中,您可以使用 this.$router 访问底层的 Vue 路由器。 在 Nuxt 3 中,您可以使用 navigateTo() 实用方法,它允许您将路由和参数传递给 Vue Router。

注意: 确保始终在 navigateTo 上进行 await 或通过从函数返回来链接它的结果。

Nuxt 2
<script>
export default {
  methods: {
    navigate(){
      this.$router.push({
        path: '/search',
        query: {
          name: 'first name',
          type: '1'
        }
      })
    }
  }
}
</script>
Nuxt 3
<script setup>
const router = useRouter();

function navigate(){
  return navigateTo({
    path: '/search',
    query: {
      name: 'first name',
      type: '1'
    }
  })
}
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文