vue3 监听reactive数据
时间: 2023-11-04 08:59:31 浏览: 85
这段代码的问题在于创建 graduate_student 类的实例时没有传入初始化函数所需的参数。应该将最后一行代码改为:
p=graduate_student("张三",20,"李四")
这样就可以正确创建一个 graduate_student 对象了。
另外,为了避免代码冗余,可以将 graduate_student 类的 input 和 display 方法改为:
def input(self):
super().input()
self.teacher = input("请输入导师名字:")
def display(self):
super().display()
print("导师为:", self.teacher)
相关问题
vue3watch监听reactive
Vue 3 中的 watch API 用于监听响应式数据变化,并在数据变化时执行一些操作。如果你想监听一个 reactive 对象的变化,可以使用 watchEffect 或者 watch API。下面是一个示例:
```javascript
import { reactive, watchEffect } from 'vue';
const state = reactive({
count: 0,
});
watchEffect(() => {
console.log(state.count);
});
```
在上面的代码中,我们创建了一个响应式对象 state,然后使用 watchEffect 监听 count 属性的变化,并在控制台输出 count 的值。
如果你想对变化进行更精细的控制,可以使用 watch API。下面是一个示例:
```javascript
import { reactive, watch } from 'vue';
const state = reactive({
count: 0,
});
watch(
() => state.count,
(newVal, oldVal) => {
console.log(`count 变为 ${newVal},原来的值为 ${oldVal}`);
}
);
```
在上面的代码中,我们使用 watch 监听 count 属性的变化,并在控制台输出新值和旧值。
vue3监听对象数据变化
在 Vue3 中,可以使用 `reactive` 函数将一个普通对象转换为响应式对象,然后使用 `watch` 函数监听响应式对象的变化。具体实现如下:
```javascript
import { reactive, watch } from 'vue'
const obj = reactive({
name: '张三',
age: 18
})
watch(() => obj.name, (newVal, oldVal) => {
console.log(`name 从 ${oldVal} 变成了 ${newVal}`)
})
```
在上面的代码中,我们使用 `reactive` 函数将 `obj` 对象转换为响应式对象,然后使用 `watch` 函数监听 `obj.name` 属性的变化。当 `obj.name` 属性发生变化时,会触发回调函数并输出变化前后的值。
阅读全文