返回介绍

组件选项 Component Options

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

asyncData and fetch component options

Nuxt 3 为从 API 获取数据 提供了新选项。

同构获取

请参阅 元标记迁移

key

您现在可以在“definePageMeta”编译器宏中定义一个键。

pages/index.vue
- <script>
- export default {
-   key: 'index'
-   // or a method
-   // key: route => route.fullPath
- }
+ <script setup>
+ definePageMeta({
+   key: 'index'
+   // or a method
+   // key: route => route.fullPath
+ })
  </script>

迁移步骤

See layout migration.

loading

Nuxt 3 尚不支持此功能。

middleware

请参阅 中间件迁移

scrollToTop

Nuxt 3 尚不支持此功能。如果您想覆盖 vue-router 的默认滚动行为,可以在 ~/app/router.options.ts 中进行(参见 [docs](/docs /dirs/pages/#router-options)) 了解更多信息。

transition

See layout migration.

validate

Nuxt 3 中的验证钩子只接受一个参数,即“路由”。 就像在 Nuxt 2 中一样,您可以返回一个布尔值。 如果返回 false 并且找不到另一个匹配项,这将意味着 404。您也可以直接返回一个带有 statusCode/statusMessage 的对象以立即响应错误(不会检查其他匹配项)。

pages/users/[id].vue
- <script>
- export default {
-   async validate({ params }) {
-     return /^\d+$/.test(params.id)
-   }
- }
+ <script setup>
+ definePageMeta({
+   validate: async (route) => {
+     const nuxtApp = useNuxtApp()
+     return /^\d+$/.test(route.params.id)
+   }
+ })
  </script>

watchQuery

这在 Nuxt 3 中不支持。相反,您可以直接使用观察者来触发重新获取数据。

pages/users/[id].vue
<script setup>
const route = useRoute()
const { data, refresh } = await useFetch('/api/user')
watch(() => route.query, () => refresh())
</script>

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

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

发布评论

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