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

Posted

技术标签:

【中文标题】计算属性“eleron”已分配给但它没有设置器【英文标题】:Computed property “eleron” was assigned to but it has no setter 【发布时间】:2020-07-10 21:20:12 【问题描述】:

如何解决?

computed: 
  ...mapGetters(
    eleron: 'promoter/eleron',
  ),
,

GetInfo(按下搜索按钮时调用):

getInfo() 
    this.loading = true;
    axios.post('/srt', 
      search: this.search
    )
    .then((response) => this.eleron = response.data, console.log(response.data), this.loading = false;);
,

【问题讨论】:

【参考方案1】:

您正在映射来自vuex 的getter。这意味着您只能从 store 中获取 value,而不能对其进行写入。

您还需要映射mutation。

这样的事情应该可以工作,这取决于您在商店中定义了一个突变:

methods: 
 ...mapMutations([
  'updateEleron'
 ]),

然后在promise回调中调用它

this.updateEleron(response.data)

注意:vuex 提供对存储外部变量的只读访问。写入变量需要从 mutationaction 内部完成。

【讨论】:

感谢您的回答,新错误... : ReferenceError: mapMutations is not defined 您是否关注了有关映射突变的链接?你很可能没有包括它。使用 import mapMutations from 'vuex' 我是 vazut ca esti roman,好的。我很重要,好吧,亲爱的。 eroare “未知突变类型:updateEleron”,在 asamblu 中的 crezi ca imi poti da un Discord sau ceva unde sa voribm? Pot plati pentru ajutorul pe care mi-l oferi, sunt inca un incepator in Vue (nu si in programare in special), as avea nevoie de cineva... Multumesc! 在 discord 上尝试 radu.dita#7357。【参考方案2】:

新错误 Radu: ReferenceError: mapMutations is not defined

methods:
        ...mapActions(
            getPromoters: 'promoter/getEleron',
            removePromoter: 'promoter/removeEleron'
        ),
        ...mapMutations([
          'updateEleron'
         ]),
        getInfo()
        
            this.loading = true;
            axios.post('/srt', 
                search: this.search
            )
            .then((response) => this.updateEleron(response.data), console.log(response.data), this.loading = false;);
        ,
    ,

【讨论】:

你应该删除这个,因为这不是一个答案。

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

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

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

已分配计算属性,但它没有设置器 - 切换组件

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

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

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