computed 传入参数

computed:计算属性,依赖其他属性计算值,并且 computed 的值有缓存,只有当计算值变化才会返回内容(computed 的值在 getter 执行后是会缓存的,只有在它依赖的属性值改变之后,下一次获取 computed 的值时才会重新调用对应的 getter 来计算)。

一般来说,需要依赖别的属性来动态获得值,有时候我们计算的值,与某个动态值关联,那我们又该如何向 computed 中传入参数呢?将计算属性返回值改为函数,再进行传值操作,同样我们使用方法也可以到达一样的效果。

computed: {  
  asyncRules () {
    return function (record, key) {
      return 
    }
  },
},

查看案例:element-ui DatePicker 日期选择器动态添加日期限制范围。我们可以看到 在【循环表单】中,我们将计算属性返回改为了一个可以接受参数的方法来处理的。如果 computed 也可以传入参数的话,我们就可以使用 computed 来处理,那么我们如何给 computed 传参呢?

将计算属性返回值改为函数,再进行传值操作。那我们改写案例如下:

computed: {
  pickerOptionsStart () {
    return function (row = {}) {
      return {
        disabledDate (time) {
          return time.getTime() < new Date().getTime() - 24 * 3600 * 1000 || time.getTime() < new Date(row.inquiryEndTime).getTime()
        }
      }
    }
  }
}

 

上一篇:Vue(2)学习笔记


下一篇:vue学习记录(3、计算属性)