vue 如何修改计算属性的变量?

computed: {
    nowDate () {
      return utils.formatTime(new Date(), 'date')
    }
  },
  methods: {
    bindPickerChange (e) {
      this.nowDate = e.value
    }
  }

在computed中定义的nowdate变量,在bindPickerChange 中修改nowdate却不管用?

阅读 29.5k
4 个回答

需要写set函数

computed: {
    nowDate:{
      get ()  {},
      set (newValue) {}
    }
  },

计算属性是依赖于data而存在的,你即使改计算属性,data没变啊,所以就没变化

可以试试watch监听你的data值,然后去做什么事情

ex:
  data: {
    firstName: 'Dawei',
    lastName: 'Lou',
    fullName: ''
  },
  watch: {
    firstName(newName, oldName) {
      this.fullName = newName + ' ' + this.lastName;
    }
  } 

检测值发生变化后去do something...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题