错误:已分配计算属性,但没有设置器

Posted

技术标签:

【中文标题】错误:已分配计算属性,但没有设置器【英文标题】:Error: Computed property was assigned to but it has no setter 【发布时间】:2020-07-09 23:19:28 【问题描述】:

我在 mapGetters 中用于从商店获取参数,

 computed: 
    ...mapGetters("agent",["getConfig"]),

运行良好,但出现错误:

[Vue 警告]:已分配计算属性“getConfig”,但没有设置器。

我试过用 Get 和 Set 来做:

computed: 
getConfig: 
    get: () => this.$state.getters.getConfig,
    set: (value) => this.$state.commit('setConfiguration', value ) 

但我有错误:

vue.runtime.esm.js:620 [Vue 警告]:观察者“getConfig”的 getter 错误:“TypeError:无法读取未定义的属性 '$state'”

在计算中为“GetConfig”生成 Get 和 Set 的正确语法是什么?

【问题讨论】:

【参考方案1】:

this 的上下文在 arrow functions 中丢失。

所以改成:

 get: function()  
   return this.$state.getters.getConfig
 ,
 set: function(value) 
   this.$state.commit('setConfiguration', value ) 
 

【讨论】:

以上是关于错误:已分配计算属性,但没有设置器的主要内容,如果未能解决你的问题,请参考以下文章

计算属性“main_image”已分配给但它没有设置器

Vue警告:已分配计算属性“projectName”,但没有设置器

已分配计算属性“showHazteSocioPopup”,但它没有设置器

NuxtJs 计算属性“isLoggedIn”已分配给但它没有设置器

计算属性“eleron”已分配给但它没有设置器

Nuxt 计算属性“itemCost”已分配给但它没有设置器