|
|
|
<template>
|
|
|
|
<h2>当前求和为:{{ sum }}</h2>
|
|
|
|
<button @click="sum++">点击+1</button>
|
|
|
|
<hr>
|
|
|
|
<h2>当前信息为:{{ msg }}</h2>
|
|
|
|
<button @click="msg+='!'">修改信息</button>
|
|
|
|
<hr>
|
|
|
|
<h2>姓名:{{ person.name }}</h2>
|
|
|
|
<h2>年龄:{{ person.age }}</h2>
|
|
|
|
<h2>薪资:{{ person.job.j1.salary }}</h2>
|
|
|
|
<button @click="person.name+='~'">修改姓名</button>
|
|
|
|
<button @click="person.age++">修改年龄</button>
|
|
|
|
<button @click="person.job.j1.salary++">修改薪资</button>
|
|
|
|
<h2></h2>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import {reactive, ref, watch} from "vue";
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'Demo',
|
|
|
|
// watch: {
|
|
|
|
// // Vue2中的实现
|
|
|
|
// // sum(newValue, oldValue) {
|
|
|
|
// // console.log('sum的值变了', newValue, oldValue)
|
|
|
|
// // }
|
|
|
|
// // Vue2中的实现二
|
|
|
|
// // sum: {
|
|
|
|
// // immediate: true,
|
|
|
|
// // deep: true,
|
|
|
|
// // handler(newValue, oldValue) {
|
|
|
|
// // console.log('sum的值变了', newValue, oldValue)
|
|
|
|
// // }
|
|
|
|
// // }
|
|
|
|
// },
|
|
|
|
|
|
|
|
setup() {
|
|
|
|
let sum = ref(0)
|
|
|
|
let msg = ref('你好呀')
|
|
|
|
let person = ref({
|
|
|
|
name: '张三',
|
|
|
|
age: 18,
|
|
|
|
job: {
|
|
|
|
j1: {
|
|
|
|
salary: 20
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
// 方法一: ref的对象监视,通过value实现
|
|
|
|
// watch(person.value, (newValue, oldValue) => {
|
|
|
|
// console.log('person的值变了', newValue, oldValue)
|
|
|
|
// })
|
|
|
|
|
|
|
|
// 方法二: ref的对象监视,通过deep实现
|
|
|
|
watch(person, (newValue, oldValue) => {
|
|
|
|
console.log('person的值变了', newValue, oldValue)
|
|
|
|
},{deep: true})
|
|
|
|
|
|
|
|
return {
|
|
|
|
sum,
|
|
|
|
msg,
|
|
|
|
person
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|