gpt4 book ai didi

vue.js - 如何使用nuxt访问组件中的HEAD数据?

转载 作者:行者123 更新时间:2023-12-04 12:25:05 25 4
gpt4 key购买 nike

在一个页面中,我设置了这样的标题:

...
<script>
export default {
head() {
return {
title: this.post.name
}
}
}
</script>

如何在另一个组件中获取这些数据?

我试过 this.$metaInfo但是我需要获取数据的组件位于 <nuxt /> 之外的布局中...
此外,如果当前路由位于带有填充头部的子页面中,它会覆盖父标题。那么,我该怎么办?

最佳答案

this.$metaInfo将只能在页面组件中访问。如果你想在任何地方拥有当前页面的标题,我认为最好的方法是使用 store保存当前标题,然后在任何组件中轻松检索此信息。

store/index.js

export const state = {
title: 'Default Title'
}

export const mutations = {
SET_TITLE (state, title) {
state.title= title
}
}

然后在 上使用它页面组件
<template>
<div></div>
</template>

<script>
export default {
head () {
return {
title: this.title
}
},
mounted () {
this.$store.commit('SET_TITLE', this.$metaInfo.title)
}
}
</script>

现在,您可以在从商店状态检索它的任何组件中访问当前标题。
<template>
<div></div>
</template>

<script>
import { mapState } from 'vuex'
export default {
computed: {
...mapState({
title: state => state.title
})
}
}
</script>

关于vue.js - 如何使用nuxt访问组件中的HEAD数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58848910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com