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

网站做链接算侵权吗制作网站的最大公司

网站做链接算侵权吗,制作网站的最大公司,鞍山外国网站制作,陶瓷网站源码一,watch()简介: 侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数 watch()默认是懒侦听的,即仅在侦听源发生变化时才执行回调函数。 watch()一共有三个参数 第一个参数:侦听器的源,可以为以…

一,watch()简介:

侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数 watch()默认是懒侦听的,即仅在侦听源发生变化时才执行回调函数。
watch()一共有三个参数
第一个参数:侦听器的源,可以为以下几种 :
以函数形式返回一个值 ;一个ref; 一个reactive响应式对象或者由以上类型的值组成的数组 。
第二个参数:侦听源发生变化时调用的回调函数。这个函数接受三个参数
分别是新值,旧值 ,用于注册副作用清理的回调函数(可选,可忽略) ;当侦听多个来源时,回调函数接受两个数组,分别对应来源数组中的新值和旧值。

第三个参数(可选):配置对象,支持以下这些选项

immediate:在侦听器创建是立即触发回调,第一次调用时旧值是undefined,值为 true 时,一旦运行就会立即执行,值为false时,保持惰性。
deep:值为 true 时,可以监听对象所有属性,值为 false 时保持更加具体特性,必须指定到具体的属性上。
flush 回调的触发时机:
1,sync:同步模式下执行
2,pre:在数据变化之前执行回调函数
3,post:在数据变化之后执行回调函数,但是需要等待所有依赖项都更新后才执行
once: 每当被侦听源发生变化时,侦听器的回调就会执行。如果希望回调只在源变化时触发一次,请使用 once: true 选项。

1,监听ref基本类型

<template><div ><div>{{ msg }}</div><button @click="btnclick">改变数据</button></div>
</template>
<script setup lang='ts'>import {  ref, watch } from 'vue';const msg = ref<string>('pink')watch(msg,(newValue,oldValue)=>{console.log('newValue',newValue);   // coderkeyconsole.log('oldValue',oldValue);   //  pink}) const btnclick = () => {msg.value= 'coderkey'} 
</script>

2,监听reactive响应式对象

<template><div ><div>{{ obj }}</div><button @click="btnclick">改变数据</button></div>
</template>
<script setup lang='ts'>import { computed, reactive, ref,watch } from 'vue';let obj = reactive<any>({name: 'pink',age: 18})// 此处作用避免打印newValue和oldValue都是最新的值,因为引用同一块地址let deepObj = computed(()=>{return JSON.parse(JSON.stringify(obj))})watch(deepObj,(newValue,oldValue)=>{console.log('newValue',newValue);   // {name: 'coderkey', age: 18}console.log('oldValue',oldValue);  // {name: 'pink', age: 18}})const btnclick = () => {obj.name = 'coderkey'}
</script>

3,监听对象属性(函数形式返回)

<template><div ><div>{{ obj.name }}</div><button @click="btnclick">改变数据</button></div>
</template>
<script setup lang='ts'>
import { computed, reactive, ref,watch } from 'vue';let obj = reactive<any>({name: 'pink',age: 18})watch(()=>obj.name,(newValue,oldValue)=>{console.log('newValue',newValue);   // coderkeyconsole.log('oldValue',oldValue);   //  pink},/* {immediate: true, // 立即调用 deep:false // 开启深度监听} */) const btnclick = () => {obj.name = 'coderkey'} </script>

4,监听多个数据(以上类型任意组合,以数组形式)

<template><div ><div>{{ msg }}</div><div>{{ obj.age }}</div><button @click="btnclick">改变数据</button></div>
</template>
<script setup lang='ts'>
import { computed,  reactive, ref,watch } from 'vue';
const msg = ref<string>('pink')
let obj = reactive<any>({name: 'pink',age: 18})watch([msg,()=> obj.age],(newValue,oldValue)=>{console.log('newValue',newValue);   // ['coderkey', 25]console.log('oldValue',oldValue);  // ['pink', 18]})const btnclick = () => {msg.value= 'coderkey'obj.age = 25} 
</script>

5,监听数组

<template><div ><div>{{ arr}}</div><button @click="btnclick">改变数据</button></div>
</template>
<script setup lang='ts'>
import { computed, reactive, ref, watch } from 'vue';let arr = reactive<Array<string>>(['pink'])let deepArr = computed(()=>{return JSON.parse(JSON.stringify(arr))})watch(deepArr,(newValue,oldValue)=>{console.log('newValue',newValue);  // ['pink', 'coderkey']console.log('oldValue',oldValue); // ['pink']})const btnclick = () => {arr[1] = 'coderkey'}
</script>

6,监听路由

<script setup lang='ts'>
import { watch } from 'vue';
import { useRouter} from 'vue-router'
const router = useRouter()
// 监听当前路由信息
watch(() => router.currentRoute.value,(newValue: any, oldValue: any) => {console.log('newValue',newValue)},{ immediate: true }  // 立即执行
)
</script>

二,watchEffect :

watchEffect函数来创建高级侦听器。它不需要指定依赖项,自动追踪响应式状态的变化,并在变化时重新运行。一旦运行就会立即执行,使用时不需要具体指定监听的谁,回调函数内直接使用。只能访问当前最新的值,访问不到修改之前的值。

<template><div ><div>{{ obj.name }}</div><button @click="btnclick">改变数据</button></div>
</template>
<script setup lang='ts'>
import {  reactive, watch, watchEffect } from 'vue';
let obj = reactive<any>({name: 'pink',age: 18})watchEffect(()=>{console.log(obj.name); // 初次运行输出pink 而后点击按钮 监听到数据变化输出coderkey})const btnclick = () => {obj.name = 'coderkey'} 
</script>

http://www.hengruixuexiao.com/news/44085.html

相关文章:

  • 大连软件开发网站建设网站建设全包
  • wordpress怎么ftp建站手机免费建站系统
  • 深圳市做门窗网站有哪些推广品牌推广的方式有哪些
  • 医疗机械网站怎么做网络公关公司
  • 做推广便宜的网站推广策划方案模板
  • 个人网站可以直接做微信登陆吗大连网站优化
  • 株洲网站建设联系方式抖音关键词查询工具
  • 网站建设毕业实习报告2020最近的新闻大事10条
  • 网站开发视频教程新媒体营销推广方案
  • 证券投资网站建设微信最好用的营销软件
  • 济南集团网站建设费用视频互联网推广选择隐迅推
  • 如何重装一下wordpress深圳seo排名
  • 江西做网站公司seo网站推广企业
  • 网站源码获取在线搜狗推广登陆
  • 网站建设自由容器是什么意思网站百度手机端排名怎么查询
  • 我的世界搞头怎么做的视频网站软文模板
  • 做一个电商网站要多少钱百度链接收录
  • 优秀包装设计作品及解析廊坊快速排名优化
  • 高速公路建设管理局网站手机百度极速版app下载安装
  • 网站建设合同标的附近电脑培训速成班一个月
  • 网站地图怎样做手机百度经验首页登录官网
  • 做黑彩网站seo研究中心道一老师
  • 专业响应式网站制作青岛seo推广专员
  • 网页设计作业买别人的搜索引擎营销就是seo
  • 首页>新闻>正文 网站怎么做宁波seo推广优化公司
  • 广州培训机构网页设计石家庄关键词优化报价
  • 怎样用织梦做音乐网站搜狗网页版入口
  • 高端网站设计服务商市场推广怎么写
  • 青海网站建设西宁网络科技公司找文网客服联系方式
  • 自适应网站可以做伪静态页面吗百度手机怎么刷排名多少钱