Я застрял, пытаясь понять, как я могу получить реактивные значения при использовании функций в Vue.
У меня есть простой случай, подобный так:
<v-simple-checkbox :value="isSelected(item)" @input="toggleSelect(item)" />
isSelected
и toggleSelect
являются методами (или, скорее, функциями, предоставляемыми через API Vue Composition).
они определены следующим образом:
let selection = {};
function toggleSelect(item) {
selection[item.id] = !selection[item.id]
}
function isSelected(item) {
return !!selection[item.id];
}
return {
isSelected,
toggleSelect,
other exposed things...
}
При нажатии на флажок я вижу, что все состояние обновляется. Но так как :value
связывается с функцией. это не вызывает обновления представления.
Это в основном проблема «вычислено с аргументами», и я не могу найти никакого реального ответа на него.
Я пытался с$forceUpdate
но там тоже не повезло.