我正在使用Vue.js,当我尝试从计算属性中的数据访问变量时,它返回undefined
。
这是代码:
<script>
export default {
name: 'app',
data: () => {
return {
lang: 'sp'
}
},
computed: {
langEn: () => this.lang === 'en',
langSp: () => this.lang === 'sp'
}
}
</script>
这是在NPM项目中。并在.vue
文件中。使用时可能会有不同的表现吗?
感谢您的帮助
答案 0 :(得分:11)
这是一个非常常见的问题&#34;。
定义计算时不要使用粗箭头。
当您使用胖箭头来定义计算,方法或数据时,您可以在词汇上捕获this
,它将指向包含范围(通常为window
或未定义),而不是您的Vue的。
<script>
export default {
name: 'app',
data() {
return {
lang: 'sp'
}
},
computed: {
langEn(){return this.lang === 'en'},
langSp(){return this.lang === 'sp'}
}
}
</script>