Vue 使用 mapState 计算语法错误

Vue computed syntax error with mapState

我有这个代码:

 computed: {
      mapState(["appErrors", "user", "profilesFor"]),
      compiledData () {
      return {
        template: `<p>${this.data}</p>`
      }
    }
  }

基本上我使用的是 Vuex 并且它有 mapState 但我也想定义我自己的计算函数所以我改变了

computed: mapState(["appErrors", "user", "profilesFor"]) --有效

computed: {
      mapState(["appErrors", "user", "profilesFor"]),
      compiledData () {
      return {
        template: `<p>${this.data}</p>`
      }
    }
  }

但是没用。我该如何解决这个问题?

mapState helper 提供了一个包含计算的 getter 函数的对象。

使用 spread operator 在您的 computed 对象中包含这些函数中的每一个:

computed: {
  ...mapState(["appErrors", "user", "profilesFor"]),
  compiledData () {
    return {
      template: `<p>${this.data}</p>`
    }
  }
}