2017-03-17 55 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>