我将GraphQL(Symfony + API平台)与Vue Apollo和Nuxt一起使用。
我有一个问题的详细页面,并且想加载特定的问题,但是我总是得到Cannot read property 'issueId' of undefined
,因为this
是undefined
。这是我的页面的相关脚本部分
<script>
import gql from 'graphql-tag'
export default {
data() {
return {
issueId: null
}
},
created() {
this.issueId = this.$route.params.id
},
apollo: {
issue: {
query: gql`
query($issueId: ID!) {
issue(id: $issueId) {
id
description
}
}
`,
variables: {
issueId: this.issueId
}
}
}
}
</script>
当我将issueId设置为issues/3
时,它会起作用
variables: {
issueId: 'issues/3'
}
答案 0 :(得分:2)
我找到了解决方法
如here所述,如果只需要转弯
variables() {
return {
issueId: this.issueId
}
}
进入
Compare with Working Tree
但是我不明白其中的区别
答案 1 :(得分:0)
使用console.log()
中的created
检查值...
...可能(多年不使用vue)应该单独使用$route.params.id
,而不能使用this
...
...您可以直接在variables