vuejs3 - vue3 组合 API - 观看
问题描述
我正在尝试掌握组合 API。与手表斗争:
const totalValuation = ref(0);
const values = ref([1, 2, 3]);
totalValuation.value = watch(finalTasksFiltered.value, () => {
return values.value.reduce((prev, curr) => {
console.log(prev + curr);
return prev + curr;
}, 0);
});
return {
finalTasksFiltered,
totalValuation,
};
console.log 的工作方式与它应该(1,3,6)完全一样,但我似乎无法将它呈现给 DOM。当我检查控制台时它很好,但在 DOM 中像这样 {{ totalValuation }} 它返回:
() => { (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.stop)(runner); if (instance) { (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.remove)(instance.effects, runner); } }
哦,我正在使用 Quasar - 不确定这是否会有所不同。
我敢肯定它的小东西。
我已经从 vue 导入了 ref 和 watch。我有一个计算函数也可以正常工作。
解决方案
watch
旨在在某些值更改时执行函数。它并不意味着被分配为参考。你想要做的似乎更适合computed
观看:(无作业)
watch(finalTasksFiltered.value, () => {
totalValuation.value = values.value.reduce((prev, curr) => {
console.log(prev + curr);
return prev + curr;
}, 0);
});
计算:(使用赋值)
const totalValuation = computed(() => {
return values.value.reduce((prev, curr) => {
console.log(prev + curr);
return prev + curr;
}, 0);
});
推荐阅读
- linux - 使用 BASH 脚本抓取和封装文本
- angular - SweetAlert2 从指令中显示输出(Angular 4/5/6)
- r - 如果值在一个范围内的两列中并且使用 R 的方向相同,则计算行数
- python - UnboundLocalError:分配前引用的局部变量“数字”
- cmake - CMake 内部目标类型
- reactjs - Reactstrap 工具提示导致错误:无法在 dom 中识别目标“TooltipExample”
- c - 使用 fork() 的程序的终端输出不正确
- r - 如何在 R 中为具有参考列 ID 的多个数据帧进行模式匹配?
- javascript - THREE.js 在不使用时暂停动画
- php - 发送没有 smtp_pass codeigniter 的电子邮件