如何从计算属性Vue.js访问数据

时间:2017-03-17 23:36:36

标签: javascript node.js vue.js vuejs2 vue-component

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

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

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

感谢您的帮助

1 个答案:

答案 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>