mounted() {
// threads is a constant file
this.thread = threads.find(t => t.id === this.$route.params.id)
},
data() {
return {
thread: null
}
},
head: {
title: this.thread.title,
meta: [
{
hid: 'description',
name: 'description',
content: this.thread.body
}
]
},
基本上,我有一个json“ threads”常量文件,我想使用它的属性来设置head-title / description。
我遇到此错误:
无法读取未定义的属性“线程”
答案 0 :(得分:1)
在head documentation中,键入对象或函数
因此,如果您重新格式化代码,则可以这样编写head
head() {
const thread = threads.find(t => t.id === this.$route.params.id)
return {
title: thread ? thread.title : '',
meta: [
{
hid: 'description',
name: 'description',
content: thread ? thread.body : ''
}
]
}
},
答案 1 :(得分:0)
您应该在数据方法中定义thread
data () {
return {
thread: {
body: '',
}
}
}
此外,应该将head定义为方法,而不是属性。
head () {
return {
meta: [
{
hid: 'description',
name: 'description',
content: this.thread.body
}
]
}
}
答案 2 :(得分:0)
aznable显然您必须从此处删除null
thread: null => thread: ""
并将其插入异步方法中
async getId() {
this.thread = await threads.find(t => t.id === this.$route.params.id)
}
最好!