Vue中使用定义的函数时,无法访问到data()里面的数据

const translateItems1 = () => {
      this.translatedItems = this.items1.map(item => {
      return {
        ...item,
        label: this.$t(item.labelKey)
      };
    });

items1是我们data()里面的数据,无法访问到

解决办法

把箭头函数替换为普通函数

const translateItems1 = function() {
      this.translatedItems = this.items1.map(item => {
      return {
        ...item,
        label: this.$t(item.labelKey)
      };
    });

在 translateItems1 函数中,使用了箭头函数 item => ({ ...item, label: this.$t(item.labelKey) }),但是将 translateItems1 定义为普通函数,所以箭头函数内部的 this 不会指向组件实例,而是指向了函数本身。因此,在该箭头函数中,this.$tthis.items1 可能无法正确识别。

你可能感兴趣的:(vue.js,前端,javascript)