Computed property "xxxx" was assigned to but it has no setter

有时候我们在运行我们的项目的时候会出现如下警告

原因:一个计算属性,如果没有设置 setter,也就是传入的是一个函数,或者传入的对象里没有 set 属性,当你尝试直接改变这个计算属性的值,都会报这个错误,计算属性默认只有getter

解决:把computed中的route属性改成如下格式

computed: {
  route () {
    // getter
    get: function () {
      return this.$store.state.curTab.route
    },
    // setter
    set: function (newValue) {
      this.$store.state.curTab.route = newValue
    }
 }

 

computed  VS  watch 

computed比较适合的场景是多个数据影响一个数据,比如商品总价随着商品数量及商品种类的影响

watch比较适合的场景是一个数据影响多个数据,比如监控路由、input输入框的值特殊处理等等

 

转载于:https://www.cnblogs.com/JasmineLily/p/11049623.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值