Можно использовать геттеры. Например как-то вот так:
class CheckBoxCalc {
constructor(text, callback) {
this.text = text
this.cb = callback
}
get value() {
return this.cb()
}
}
new Vue({
el: "#app",
data: {
checkedNumbers: [],
checkbox: [
new CheckBoxCalc('Checkbox 1', () => 10),
new CheckBoxCalc('Checkbox 2', () => Math.floor(Date.now() / 10000000)),
new CheckBoxCalc('Checkbox 3', () => Math.floor(Math.random() * 100)),
]
},
computed: {
sum() {
return this.checkedNumbers.reduce((acc, index) => {
return acc + this.checkbox[index].value
}, 0);
}
}
})
Выглядит немножечко колхозно, но там уж сами до ума доведете