- 配置参考 Configuration
- 入门指南
- 介绍 Introduction
- 安装 Installation
- 配置 Configuration
- 视图 Views
- 资产 Assets
- 路由 Routing
- SEO and Meta
- 过渡 Transitions
- 数据获取 Data Fetching
- 状态管理 State Management
- 错误处理 Error handling
- 层结构 Layers
- 部署 Deployment
- 测试 Testing
- 升级指南 Upgrade Guide
- 核心概念
- 自动导入 Auto imports
- Vue.Js Vue.js Development
- 渲染模式 Rendering Modes
- 服务端引擎 Server Engine
- 模块化 Modules
- ES模块 ES Modules
- TypeScript TypeScript
- 目录结构
- 可组合项
- 组件
- 工具库
- fetch
- abortNavigation
- addRouteMiddleware
- clearError
- clearNuxtData
- createError
- defineNuxtComponent
- defineNuxtRouteMiddleware
- definePageMeta
- navigateTo
- onBeforeRouteLeave
- onBeforeRouteUpdate
- onNuxtReady
- prefetchComponents
- preloadComponents
- preloadRouteComponents
- refreshNuxtData
- reloadNuxtApp
- setPageLayout
- setResponseStatus
- showError
- updateAppConfig
- CLI 命令
- 进阶
- 深入探究
- 迁移指南
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
元标记 Meta
Nuxt 3 提供了几种不同的方式来管理你的元标签。
您可以自定义 title
、titleTemplate
、base
、script
、noscript
、style
、meta
、link
、htmlAttrs
和 bodyAttrs
。
Nuxt 目前使用 vueuse/head
来管理您的元标记,但实现细节可能会发生变化。
迁移
- 在你的
nuxt.config
中,将head
重命名为meta
。 考虑将此共享元配置移至您的app.vue
中。(请注意,对象不再具有用于重复数据删除的“隐藏”键。) - 如果您需要使用
head
访问组件状态,您应该迁移到使用useHead
。 您也可以考虑使用内置的元组件。 - 如果需要使用Options API,在使用
defineNuxtComponent
时有一个head()
方法可以使用。
Example: useHead
Nuxt 2<script>
export default {
data: () => ({
title: 'My App',
description: 'My App Description'
})
head () {
return {
title: this.title,
meta: [{
hid: 'description',
name: 'description',
content: this.description
}]
}
}
}
</script>
Nuxt 3<script setup>
const title = ref('My App')
const description = ref('My App Description')
// 即使您更改上面的标题/描述,这也会有反应
useHead({
title,
meta: [{
name: 'description',
content: description
}]
})
</script>
示例:内置元组件
Nuxt 3 还提供了可用于完成相同任务的元组件。 虽然这些组件看起来类似于 HTML 标签,但它们由 Nuxt 提供并且具有相似的功能。
Nuxt 2<script>
export default {
head () {
return {
title: 'My App',
meta: [{
hid: 'description',
name: 'description',
content: 'My App Description'
}]
}
}
}
</script>
Nuxt 3<template>
<div>
<Head>
<Title>My App</Title>
<Meta name="description" content="My app description"/>
</Head>
<!-- -->
</div>
</template>
- 确保对这些组件名称使用大写字母,以将它们与原生 HTML 元素区分开来(
<Title>
而不是<title>
)。 - 您可以将这些组件放置在页面模板中的任何位置。
Example: Options API
Nuxt 3 (Options API)<script>
// 如果使用选项 API `head` 方法,您必须使用 `defineNuxtComponent`
export default defineNuxtComponent({
head (nuxtApp) {
// `head` 接收到 nuxt 应用程序但无法访问组件实例
return {
meta: [{
name: 'description',
content: 'This is my page description.'
}]
}
}
})
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论