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

长沙flash网站制作做网站的专业公司

长沙flash网站制作,做网站的专业公司,带seo服务的网站定制,做网站app要多少钱【Vue3】watch 监视多种类型数据 背景简介开发环境开发步骤及源码 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗…

【Vue3】watch 监视多种类型数据

  • 背景
  • 简介
  • 开发环境
  • 开发步骤及源码

背景

随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。本文内容并非完全原创,大多是参考其他文章资料整理所得,感谢每位技术人的开源精神。

简介

本文介绍 Vue3 中如何使用 watch 函数监视多种类型的数据。

开发环境

分类名称版本
操作系统WindowsWindows 11
IDEVisual Studio Code1.91.1

开发步骤及源码

在 【Vue3】watch 监视对象类型数据中的某个属性 基础上修改 Vue 根组件 App.vue 代码。

<template><div class="person"><h1>监视多种类型数据</h1><h2>姓名:{{ person.name }}</h2><h2>年龄:{{ person.age }}</h2><h2>电影:{{ person.film.f1 }} | {{ person.film.f2 }}</h2><button @click="growUp">长大</button><button @click="changeFilm">修改全部电影</button><button @click="changeFilm1">修改第一部电影</button><button @click="changeFilm2">修改第二部电影</button></div>
</template><script setup lang="ts" name="App">
import { reactive, watch } from 'vue'const person = reactive({name: 'Harry Potter',age: 10,film: {f1: '哈利·波特与魔法石',f2: '哈利·波特与密室',}
})function growUp() {person.age += 1
}function changeFilm() {person.film = {f1: '哈利·波特与阿兹卡班的囚徒',f2: '哈利·波特与火焰杯',}
}function changeFilm1() {person.film.f1 = '哈利·波特与凤凰社'
}function changeFilm2() {person.film.f2 = '哈利·波特与混血王子'
}watch([() => person.age, () => person.film], (newValue, oldValue) => {console.log('Data changed from', oldValue, 'to', newValue)
}, {deep: true
})
</script><style scoped>
button {margin-right: 10px;
}
</style>

同时监视多种类型数据,只需将被监视数据包装成一个数组,将此数组作为 watch 函数的第一个参数传入。此时需要注意 watch 函数第二个参数中 newValueoldValue 的值。
日志
从日志中可以看出,newValueoldValueProxy 对象,其中也包含一个数组,对应被监视数据的变化,可以如以下方式进行调用。

<template><div class="person"><h1>监视多种类型数据</h1><h2>姓名:{{ person.name }}</h2><h2>年龄:{{ person.age }}</h2><h2>电影:{{ person.film.f1 }} | {{ person.film.f2 }}</h2><button @click="growUp">长大</button><button @click="changeFilm">修改全部电影</button><button @click="changeFilm1">修改第一部电影</button><button @click="changeFilm2">修改第二部电影</button></div>
</template><script setup lang="ts" name="App">
import { reactive, watch } from 'vue'const person = reactive({name: 'Harry Potter',age: 10,film: {f1: '哈利·波特与魔法石',f2: '哈利·波特与密室',}
})function growUp() {person.age += 1
}function changeFilm() {person.film = {f1: '哈利·波特与阿兹卡班的囚徒',f2: '哈利·波特与火焰杯',}
}function changeFilm1() {person.film.f1 = '哈利·波特与凤凰社'
}function changeFilm2() {person.film.f2 = '哈利·波特与混血王子'
}watch([() => person.age, () => person.film], (newValue, oldValue) => {console.log('Data changed from', oldValue, 'to', newValue)console.log('%s 年龄从 %d 长大到 %d', person.name, oldValue[0], newValue[0])console.log(person.name, '出演电影', JSON.stringify(newValue[1]))
}, {deep: true
})
</script><style scoped>
button {margin-right: 10px;
}
</style>
http://www.yayakq.cn/news/822436/

相关文章:

  • 外贸跨境电商网站建设开发大型企业网站建设方案
  • wordpress如何导航网站注册安全工程师含金量
  • 甘谷县建设局网站汽车租赁网站建设
  • 网站 cms南昌房产网官网
  • 深圳高端网站建设电话网站优化排名教程
  • 早教类网站模板怎么创建网页文件
  • 旅游目的地网站建设的流程广告投放怎么做
  • 网站备案 互联网信息查询90数字设计
  • 百度做网站电话多少钱网站会更改吗
  • 电商网站如何做cc域名做网站好吗
  • 谁可以教我做网站企业搭建什么样的平台
  • 建设施工网络平台淄博网站优化首选公司
  • 建设 互动 网站 模式开一个二手车销售网站怎么做
  • 网站型与商城型有什么区别吗珠宝网站源码免费下载
  • 网站开发新动力中国商标网官网首页
  • dede 网站改宽屏代码有人有片资源吗在线观看不下载
  • 银川网站建设公司名单网站怎么做 流程
  • 搜索的网站后大拇指分享数量不见了微信分销系统多层
  • 智联招聘网站怎么做两份简历中国工程建设信息平台
  • 怎么样做网站才可以加重权重网站恢复
  • 网站制作在线版一级域名二级域名区别
  • 赣州市建设工程造价管理网站wordpress 设置ftp
  • 兰州网站建设托管wordpress登录页面空白
  • 外包公司网站网页设计文员0基础招培训
  • 专业的咨询行业网站制作上海优化外包
  • 白山建设局网站广告公司名称
  • 织梦网站采集规则青岛网站建设工作室
  • 来钱快app天桥区seo全网宣传
  • 网站建设报价方案.xls网站秒收录
  • 怎么自己免费创建网站永久免费企业建站官网大全