【发布时间】:2019-12-23 08:01:44
【问题描述】:
我一直在试图理解在 Vue 中使用函数时如何获得反应值。
我有一个这样的简单案例:
<v-simple-checkbox :value="isSelected(item)" @input="toggleSelect(item)" />
isSelected 和 toggleSelect 是方法(或者更确切地说是通过 Vue Composition API 公开的函数)。
它们是这样定义的:
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,但也没有运气。
【问题讨论】:
-
你能分享任何codepen吗?
-
你用什么来试验组合 API ? github.com/vuejs/composition-api ?
标签: vue.js vue-composition-api