当前位置: 首页 > wzjs >正文

做菠菜网站好赚吗杭州旅游网站建设

做菠菜网站好赚吗,杭州旅游网站建设,企业网站怎么做跟淘宝链接,微信小程序 做网站vue3中的watch只能监听以下四种数据: 1.ref定义的数据 2.reactive定义的数据 3.函数返回一个值(getter函数) 4.一个包含上述内容的数组 通常我们在使用watch的时候,通常会遇到以下几种情况: 情况一: …

vue3中的watch只能监听以下四种数据:

1.ref定义的数据

2.reactive定义的数据

3.函数返回一个值(getter函数)

4.一个包含上述内容的数组

通常我们在使用watch的时候,通常会遇到以下几种情况:

情况一:

监视ref定义的【基本类型】数据:直接写数据名即可,监视的是其value值的改变。

我们首先写一个watch,这里面要传两个值,一个是监视的字段,还有一个是回调函数,里面返回两个值newValue, oldValue,看下面的截图就知道啦~一个是变化前,一个是变化后!

超过10就会解除监视

<template><div class="person"><h1>情况一:监视【ref】数据【基本类型】数据</h1><h2>当前求和为:{{ sum }}</h2><button @click="changeSum">点我sum+1</button></div>
</template><script lang="ts" setup name="Person">
import { ref, watch } from "vue";
let sum = ref(0);
0;
function changeSum() {sum.value += 1;
}
const stopWatch = watch(sum, (newValue, oldValue) => {console.log("sum变化了");console.log(newValue, oldValue);if (newValue > 10) {stopWatch();}
});
</script><style scoped>
.person {background-color: #ddd;box-shadow: 0 0 10px;border-radius: 10px;padding: 20px;
}
</style>

情况二:

监视ref定义的【对象类型】数据:直接写数据名,监视的是对象的【地址值】,若想监视对象内部的数据,要手动开启深度监视。

<template><div class="person"><h1>情况二:监视ref定义的【对象类型】数据</h1><h2>姓名:{{ person.name }}</h2><h2>年龄:{{ person.age }}</h2><button @click="changeName">修改姓名</button><button @click="changeAge">修改年龄</button><button @click="changePerson">修改整个人</button></div>
</template><script lang="ts" setup name="Person">
import { ref, watch } from "vue";
let person = ref({name: "张三",age: 19,
});
function changeName() {person.value.name += "~";
}
function changeAge() {person.value.age += 1;
}
function changePerson() {person.value = { name: "李四", age: 40 };
}
// 监视的是对象的地址值!若想监视对象内部属性的变化,需要手动开启深度监视!
watch(person,(newValue, oldValue) => {console.log("person变化了", newValue, oldValue);},{ deep: true }
);
</script><style scoped>
.person {background-color: #ddd;box-shadow: 0 0 10px;border-radius: 10px;padding: 20px;
}
</style>

这里补充一下:

若修改的是ref定义对象中的属性,则newValue和oldValue都是新值,因为他们都是同一个对象

若修改的是整个ref定义的对象,则newValue是新值oldValue是旧值,因为不是同一个对象了

watch有三个参数了,第一个是监视的数据,第二个是监视的回调,第三个是配置对象!

情况三:

监视reactive定义的【对象类型】数据,且默认开启了深度监视!

<template><div class="person"><h1>情况三:监视reactive定义的【对象类型】数据</h1><h2>姓名:{{ person.name }}</h2><h2>年龄:{{ person.age }}</h2><button @click="changeName">修改姓名</button><button @click="changeAge">修改年龄</button><button @click="changePerson">修改整个人</button></div>
</template><script lang="ts" setup name="Person">
import { reactive, watch } from "vue";
let person = reactive({name: "张三",age: 19,
});
function changeName() {person.name += "~";
}
function changeAge() {person.age += 1;
}
function changePerson() {Object.assign(person, { name: "李四", age: 40 });
}
// 监视reactive定义的对象类型数据,且默认是开启深度监视的!
watch(person, (newValue, oldValue) => {console.log("person变化了", newValue, oldValue);
});
</script><style scoped>
.person {background-color: #ddd;box-shadow: 0 0 10px;border-radius: 10px;padding: 20px;
}
</style>

这种会隐式的创建深度监听!而且关不掉!!!

http://www.dtcms.com/wzjs/559022.html

相关文章:

  • 互联网门户网站模板切图做网站过时了吗
  • 腾讯域名注册网站做网站是干嘛
  • 网页版企业邮箱网络优化概念
  • 北滘企业网站开发网站建设扬州
  • 哪个网站做任务给东西黑龙江营商环境建设局网站
  • 家庭nas可以做网站服务器最近时事热点新闻评论及点评
  • 做个网页价格多少seo咨询顾问
  • 家庭农场做网站四川建设网官网证书查询入口
  • 网站开发过程的分工网站这么做优化
  • 什么网站可以学习建设工程法律实践做网站生意不赚钱
  • 网站建设项目售后服务承诺在线网页制作
  • 网站文字不能编辑器电商网站建设课程设计实验报告
  • 怎样做带音乐的表白网站小程序开发定制外包
  • 马鞍山网站建设方案酒店预订网站建设
  • 社工站建站流程网页设计模板html代码dw
  • 网站怎么对接微信支付宝网络设计有哪些学校
  • 网站建设找好景科技如何在本单位网站上做链接
  • 企业网站要更新文章吗wordpress 医疗主题
  • 做淘宝保健品药品在哪个网站找素材wordpress tao2014
  • 社交网站推广怎么做免费文档网站
  • php建网站免费网站推广网站破解版
  • 厦门单位网站建设wordpress如何导入数据
  • 网站后台信息发布这样做用电脑做兼职的网站
  • 网站建设ASP心得体会5118关键词挖掘工具
  • 小企业官方网站制作网站类推广软文怎么写
  • 广告推广平台网站有哪些专门做推荐的网站
  • 百度做个公司网站要多少钱网页海报设计教程
  • 比较好的外贸网站怎样建立一个营销的公司网站
  • seo整站优化哪家好关于一学一做的短视频网站
  • 网站做优化一开始怎么做wordpress404无法加载