Vue.js 中如何将变化的计算属性变为响应式
要将一个变化的计算属性变为响应式的,可以使用 Vue 的 watch 方法来实现。具体步骤如下:
- 在 data 中定义一个变量,用于存储计算属性的值。
- 在 computed 中定义计算属性,并返回计算结果。
- 在 mounted 钩子函数中使用 watch 方法,监听计算属性的变化,并将变化后的值赋给 data 中的变量。
- 在组件中使用 data 中的变量,而不是计算属性。
示例代码:
<template>
<div>
<p>{{resultData}}</p>
</div>
</template>
<script>
export default {
data() {
return {
value1: 1,
value2: 2,
resultData: 0
};
},
computed: {
result() {
return this.value1 + this.value2;
}
},
mounted() {
this.$watch(
() => this.result,
(newValue) => {
this.resultData = newValue;
}
);
}
};
</script>
在上面的示例中,计算属性 result 会随着 value1 和 value2 的变化而变化,而在 mounted 钩子函数中使用 watch 方法监听计算属性的变化,并将变化后的值赋给 data 中的 resultData 变量。在模板中使用 data 中的 resultData 变量来显示计算结果。这样,当 value1 或 value2 发生变化时,组件会自动更新显示的计算结果。
原文地址: https://www.cveoy.top/t/topic/mkBX 著作权归作者所有。请勿转载和采集!