Vue使用中遇到的代码问题

Computed property "xxx" was assigned to but it has no setter.

@/store/modules/user.js

export default {
   state: {
       msg: '123456'
   }
}

@/store/index.js

import Vue from 'vue'
import vuex from 'vuex'
import user from './modules/user'
Vue.use(vuex)
export default new vuex.Store({
    modules: {
        user
    }
})

@/components/HelloWorld.vue

        computed: {
            ...mapState({
                msg: state => state.user.msg,
                user: state => state.user
            })
        },
        methods: {
            onChange: function () {
                this.msg = 'abc' // 这一行有问题
                this.user = {  // 这一行也有问题
                    msg: 'def'
                }
                this.user.msg = '123'  // 这一行没有问题
            }
        }

image.png

user 会默认有类似setMsg函数,而this不会默认有setMsg或者setUser函数,所以会报错。
参考:https://blog.csdn.net/cominglately/article/details/81063065

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 12,141评论 0 10
  • 科学家研究发现,有氧运动能令身体产生一种延长、增强端粒的酶,从而延缓人体衰老。健康专家提出,通过运动,可有效降低血...
    高鑫丽阅读 2,755评论 0 1
  • Swagger 常用注解 @Api:用在类上,说明该类的作用@ApiOperation:用在方法上,说明方法的作用...
    HikariCP阅读 2,361评论 0 2