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

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

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

阅读 29.7k
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...

推荐问题