Как закешировать 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>
Меня интересует, как можно добиться такого результата, чтобы вычисляемое свойство в стиле функции кешировалось и отрабатывало только при изменении элемента, а не при обновлении списка, в котором нет изменений текущего элемента