Как закешировать computed свойство с параметрами?

Всем привет! Столкнулся с такой проблемой, вычисляемое свойство в стиле функции не кешируется и выполняется каждый раз, когда обновляется список, в котором находится элемент

const uniq = (radix = 36) => Math.floor(Math.random() * (new Date).getTime()).toString(radix);

new Vue({
  el: '#app',
  data() {
    return {
      list: []
    }
  },
  computed: {
    uniq() {
      return () => uniq()
    }
  },
  methods: {
    add() {
      this.list.push({ id: uniq() })
    }
  }
})
<div id="app">
  <div class="list">
    <div 
      v-for="item in list" 
      :key="item.id"
      class="list__item"
     >
      {{ uniq() }}
    </div>
  </div>
  <button @click="add">add item to list</button>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

Меня интересует, как можно добиться такого результата, чтобы вычисляемое свойство в стиле функции кешировалось и отрабатывало только при изменении элемента, а не при обновлении списка, в котором нет изменений текущего элемента


Ответы (0 шт):