如题,如果直接这样去传参到computed里面的话,是报错的。

:data="carCount(mes)"

computed: {
 carCount (mes) {
   return XXXX
 }
}

但是有时候确实有这种需求,需要动态传个参给computed里面去计算,那可以用闭包去实现,如下:

:data="carCount(mes)"

computed: {
 carCount() {
   return function (mes) {
        /** do something */
         return data
    }
 }
}

不要认为 这里data 赋值不了给 :data

这里是return 一个 匿名函数, 实际 :data 绑定的是这个匿名函数, data 是可以return 的!

关于 能否触发缓存结果,我做了一个试验

{{cacheSome('a')}}

cacheSome () {
  return function (a) {
    return Date.now() + 'a'
  }
}

应该也是能起到触发缓存的结果

Logo

前往低代码交流专区

更多推荐