我正在使用Nuxt JS 2.4.5将Vue Meta用作项目中博客应用程序的一部分
我在尝试设置标题和data ()
中的变量时遇到了麻烦,我不确定我缺少什么
我已经尝试过多次尝试以使其运行,移动代码,使用this
手动设置它,但似乎没有任何效果...
<script>
import BlogsFromJson from '~/static/articles/blogs.json';
export default {
head: {
title: 'My Website: Blog: ' + this.myBlogTitle, // or something else
meta: [
{ hid: 'description', name: 'description', content: 'Read the latest news and articles from Flex Repay UK.' }
]
},
data () {
return {
title: this.$route.params.title,
blog: BlogsFromJson,
myBlogTitle: 'some title'
}
}
}
</script>
我尝试在data ()
中设置一个变量并静态使用它。
这样做应该给我My Website: Blog: some title
我在这里想念什么?
答案 0 :(得分:1)
尝试使用功能而不是对象作为头部。 更改
head: {
...
},
到
head () {
return {
...
}
}
答案 1 :(得分:0)
不是将metaInfo定义为对象,而是将其定义为函数并像往常一样访问它:
Post.vue:
<template>
<div>
<h1>{{{ title }}}</h1>
</div>
</template>
您的脚本
<script>
export default {
name: 'post',
props: ['title'],
data () {
return {
description: 'A blog post about some stuff'
}
},
metaInfo () {
return {
title: this.title,
meta: [
{ vmid: 'description', name: 'description', content: this.description }
]
}
}
}
</script>
PostContainer.vue:
<template>
<div>
<post :title="title"></post>
</div>
</template>
<script>
import Post from './Post.vue'
export default {
name: 'post-container',
components: { Post },
data () {
return {
title: 'Example blog post'
}
}
}
</script>
答案 2 :(得分:0)
metaInfo() {
return {
title: this.pageTitle,
}
}