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()
}
}
}
}
}