2017-03-17 57 views
1

我正在使用Vue.js,当我尝试从计算属性中的数据访问变量时,它将返回undefined。 代码如下:如何从计算属性中访问数据Vue.js

<script> 
    export default { 
     name: 'app', 
     data:() => { 
     return { 
      lang: 'sp' 
     } 
     }, 
     computed: { 
     langEn:() => this.lang === 'en', 
     langSp:() => this.lang === 'sp' 
     } 
    } 
    </script> 

这是一个NPM项目。并在.vue文件中。这样使用时可能会有不同的表现?

感谢您的帮助

回答

1

这是一个很常见的错误。

定义计算结果时不要使用粗体箭头。

当您使用胖箭头来定义您的计算方法或数据时,您从词法上捕获this,它将指向window而不是您的Vue。

<script> 
export default { 
    name: 'app', 
    data() { 
    return { 
     lang: 'sp' 
    } 
    }, 
    computed: { 
    langEn(){return this.lang === 'en'}, 
    langSp(){return this.lang === 'sp'} 
    } 
} 
</script>