|
@@ -0,0 +1,60 @@
|
|
|
+<template>
|
|
|
+ <div id="demo5">
|
|
|
+ <h3>姓名:{{obj.name}}</h3>
|
|
|
+ <h3>年龄:{{obj.age}}</h3>
|
|
|
+ <h3>
|
|
|
+ 玩具:
|
|
|
+ <p>{{obj.car.c1}}</p>
|
|
|
+ <p>{{ obj.car.c2 }}</p>
|
|
|
+ </h3>
|
|
|
+ <button @click="changeCar1">修改第一辆车</button>
|
|
|
+ <button @click="changeCar2">修改第二辆车</button>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+/**
|
|
|
+ ref:可以修改基本数据类型类型 也可以修改引用数据类型类型
|
|
|
+ 走的还是object.defineProperty()中getter和setter劫持数据 修改数据
|
|
|
+ ref修改引用 只适用于 浅层的引用数据类型
|
|
|
+ reactive: 只能修改引用数据类型
|
|
|
+ 走的是ES6中的代理 proxy
|
|
|
+ 深层的引用数据类型
|
|
|
+*/
|
|
|
+<script setup lang="ts" name="Demo5">
|
|
|
+ import { ref,reactive } from 'vue';
|
|
|
+ let aa = ref('哈哈');
|
|
|
+ let obj1 = reactive({
|
|
|
+ bb:"1",
|
|
|
+ cc:"2"
|
|
|
+ })
|
|
|
+ let obj = ref({
|
|
|
+ name: "图图",
|
|
|
+ age: 3,
|
|
|
+ car: {
|
|
|
+ c1: "玛莎拉蒂",
|
|
|
+ c2: "大G",
|
|
|
+ }
|
|
|
+ })
|
|
|
+ let obj3 = {
|
|
|
+ a: {
|
|
|
+ b:{
|
|
|
+ c: {
|
|
|
+ d:"121"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log(aa);
|
|
|
+ console.log(obj1);
|
|
|
+ function changeCar1() {
|
|
|
+ console.log(obj)
|
|
|
+ obj.value.car.c1 = '夏利'
|
|
|
+ // obj.car.c1 = '夏利';
|
|
|
+ }
|
|
|
+ function changeCar2() {
|
|
|
+ obj.value.car.c2 = '五菱'
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style>
|
|
|
+
|
|
|
+</style>
|