vue computed 不执行
时间: 2023-11-16 21:59:45 浏览: 54
可能是因为计算属性的依赖没有发生变化,导致computed不执行。计算属性的依赖是指在计算属性中使用的响应式数据。如果这些响应式数据没有发生变化,那么计算属性就不会重新计算。另外,如果计算属性的依赖是异步获取的数据,那么在数据还没有获取到时,计算属性也不会执行。此外,如果计算属性的set方法没有正确设置,也会导致computed不执行。
相关问题
vue3 computed set不执行
在Vue3中,如果你想要在计算属性中设置值而不触发setter函数,可以使用一个ref对象来存储计算属性的值。然后在计算属性中返回这个ref对象的value属性即可。这样,当你设置计算属性的值时,实际上是在修改ref对象的value属性,而不会触发setter函数。
以下是一个示例代码:
```
<template>
<div>
<p>计算属性的值为:{{computedValue}}</p>
<button @click="changeComputedValue">修改计算属性的值</button>
</div>
</template>
<script>
import { ref, computed } from 'vue';
export default {
setup() {
const computedValueRef = ref(0);
const computedValue = computed(() => {
return computedValueRef.value * 2;
});
function changeComputedValue() {
computedValueRef.value = 2;
}
return {
computedValue,
changeComputedValue,
};
},
};
</script>
```
在这个示例代码中,我们定义了一个ref对象`computedValueRef`来存储计算属性的值,然后在计算属性中返回这个ref对象的value属性。在`changeComputedValue`方法中,我们直接修改了`computedValueRef.value`的值,而不是修改计算属性本身的值。这样就可以实现在不触发setter函数的情况下修改计算属性的值了。
vue computed set不生效
在Vue中,computed属性的set方法默认是不会被执行的,只有在对computed属性进行重新赋值时才会触发set方法。这是因为computed属性是根据它所依赖的响应式数据进行计算的,而set方法的作用是用于修改computed属性所依赖的响应式数据。
如果你想要在computed属性的set方法中执行一些操作,可以通过对computed属性进行重新赋值来触发set方法。例如,对于一个名为fullName的computed属性,你可以通过对它进行赋值来触发set方法,如下所示:
```javascript
app.fullName = "new value";
```
这样就会触发fullName的set方法,并执行其中的操作。你可以在set方法中使用console.log()方法来输出一些信息,以便在控制台中查看set方法是否被执行。
请注意,如果你只是获取computed属性的值而没有对它进行重新赋值,那么get方法会被执行,而set方法不会被执行。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)