如何从计算 属性 Vue.js 访问数据
How to access data from computed property Vue.js
我正在使用 Vue.js,当我尝试从计算的 属性 中的数据访问变量时,它 returns undefined
。
这是代码:
<script>
export default {
name: 'app',
data: () => {
return {
lang: 'sp'
}
},
computed: {
langEn: () => this.lang === 'en',
langSp: () => this.lang === 'sp'
}
}
</script>
这是在 NPM 项目中。在 .vue
文件中。像这样使用时可能表现不同?
感谢您的帮助
这是一个很常见的"gotcha"。
定义计算时不要使用粗箭头。
当您使用粗箭头定义计算、方法或数据时,您在词法上捕获 this
,它将指向包含范围(通常为 window
或未定义)并且不是你的 Vue。
<script>
export default {
name: 'app',
data() {
return {
lang: 'sp'
}
},
computed: {
langEn(){return this.lang === 'en'},
langSp(){return this.lang === 'sp'}
}
}
</script>
我正在使用 Vue.js,当我尝试从计算的 属性 中的数据访问变量时,它 returns undefined
。
这是代码:
<script>
export default {
name: 'app',
data: () => {
return {
lang: 'sp'
}
},
computed: {
langEn: () => this.lang === 'en',
langSp: () => this.lang === 'sp'
}
}
</script>
这是在 NPM 项目中。在 .vue
文件中。像这样使用时可能表现不同?
感谢您的帮助
这是一个很常见的"gotcha"。
定义计算时不要使用粗箭头。
当您使用粗箭头定义计算、方法或数据时,您在词法上捕获 this
,它将指向包含范围(通常为 window
或未定义)并且不是你的 Vue。
<script>
export default {
name: 'app',
data() {
return {
lang: 'sp'
}
},
computed: {
langEn(){return this.lang === 'en'},
langSp(){return this.lang === 'sp'}
}
}
</script>