VUE L 计算监视属性 ⑥

news/2024/11/30 2:34:32/

目录


文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨

                    ⡖⠒⠒⠒⠤⢄⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸   ⠀⠀⠀⡼⠀⠀⠀⠀ ⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣲⡴⣗⣲⡦⢤⡏⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠋⠉⠉⠓⠛⠿⢷⣶⣦⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠇⠀⠀⠀⠀⠀⠀⠘⡇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⠀⠀⠀⠀⠀⠀⠀⢰⠇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⡴⠊⠉⠳⡄⠀⢀⣀⣀⡀⠀⣸⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠰⠆⣿⡞⠉⠀⠀⠉⠲⡏⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⢧⡀⣀⡴⠛⡇⠀⠈⠃⠀⠀⡗⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣱⠃⡴⠙⠢⠤⣀⠤⡾⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢀⡇⣇⡼⠁⠀⠀⠀⠀⢰⠃⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣸⢠⣉⣀⡴⠙⠀⠀⠀⣼⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⡏⠀⠈⠁⠀⠀⠀⠀⢀⡇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠀⠀⠀⠀⠀⠀⡼⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣀⠤⠚⣶⡀⢠⠄⡰⠃⣠⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢀⣠⠔⣋⣷⣠⡞⠀⠉⠙⠛⠋⢩⡀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀
⠀⡏⢴⠋⠁⠀⣸⠁⠀⠀⠀⠀⠀ ⠀⣹⢦⣶⡛⠳⣄⠀⠀⠀⠀⠀
⠀⠙⣌⠳⣄⠀⡇   不能   ⡏⠀⠀  ⠈⠳⡌⣦⠀⠀⠀⠀
⠀⠀⠈⢳⣈⣻⡇   白嫖 ⢰⣇⣀⡠⠴⢊⡡⠋⠀⠀⠀⠀
⠀⠀⠀⠀⠳⢿⡇⠀⠀⠀⠀⠀⠀⢸⣻⣶⡶⠊⠁⠀⠀
⠀⠀⠀⠀⠀⢠⠟⠙⠓⠒⠒⠒⠒⢾⡛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣠⠏⠀⣸⠏⠉⠉⠳⣄⠀⠙⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⡰⠃⠀⡴⠃⠀⠀⠀⠀⠈⢦⡀⠈⠳⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣸⠳⣤⠎⠀⠀⠀⠀⠀⠀⠀⠀⠙⢄⡤⢯⡀⠀⠀⠀⠀⠀⠀
⠀⠐⡇⠸⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡆⢳⠀⠀⠀⠀⠀⠀
⠀⠀⠹⡄⠹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠸⡆⠀⠀⠀⠀⠀
⠀⠀⠀⠹⡄⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡀⣧⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢹⡤⠳⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣷⠚⣆⠀⠀⠀⠀
⠀⠀⠀⡠⠊⠉⠉⢹⡀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡎⠉⠀⠙⢦⡀⠀
⠀⠀⠾⠤⠤⠶⠒⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠒⠲⠤⠽   

提示:以下是本篇文章正文内容

V u e j s Vuejs Vuejs


简介 : Vue 是一套用于构建用户界面的 渐进式 框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

  • 官方
  1. 中文 : https://cn.vuejs.org/
  2. 英文 : https://vuejs.org/
  3. Vue2API : https://v2.cn.vuejs.org/
  4. Vue2 相关包 : https://github.com/vuejs/awesome-vue
  5. Vue2 入门安装官方 :https://v2.cn.vuejs.org/v2/guide/installation.html
  6. Vue 相关插件 : https://awesomejs.dev/for/vue/

计算属性

     C o m p u t e d Computed Computed

  1. 要显示的数据不存在,要通过计算得来。
  2. Computed对象中定义计算属性。
  3. 在页面中使用{{方法名}}来显示计算的结果。
  • m e t h o d s methods methods V S VS VS c o m p u t e d computed computed

—代码演示 🎊 methods实现—

<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>姓名案例_methods实现</title><script type="text/javascript" src="../js/vue.js"></script>
</head><body><!-- 准备好一个容器--><div id="root">姓:<input type="text" v-model="firstName"> <br />名:<input type="text" v-model="lastName"><br /><span>全名:{{getFullName()}}</span></div><script type="text/javascript">new Vue({el: '#root',data: {firstName: '张',lastName: '三'},methods: {getFullName() {console.log('getFullName被调用了')return this.firstName + '-' + this.lastName}}})</script>
</body></html>

—代码演示 🎊 computed 实现—

	<!-- 1.计算属性:要显示的数据不存在,要通过计算得来。2.fullName函数底层用到的是对象setter和getter方法3.执行的时机:(1).初始显示会执行一次,得到初始值去显示。(2).当依赖的数据发生改变时会被再次调用。4.优势:与methods实现相比,内部有缓存机制,效率更高。5.备注:计算属性是用于直接读取使用的,不要加()-->
<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>姓名案例_computed实现</title><script type="text/javascript" src="../js/vue.js"></script>
</head><body><div id="root">姓:<input type="text" v-model="firstName"> <br /><br />名:<input type="text" v-model="lastName"><br /><br /><span>简写全名 :{{fullName}}</span><br /><br />全名: <input type="text" v-model="ullName"></div><script type="text/javascript">const vm = new Vue({el: '#root',data: {firstName: '张',lastName: '三',},computed: {/* 1.fullName是谁在调用?---Vue2.fullName什么时候调用?初次渲染会调用、当依赖的属性值发生变化*///简写---相当与只指定了get,没有指定setfullName() {console.log('fullName')return this.firstName + '-' + this.lastName},// 完整写法----set和get都指定了ullName: {set(value) { //fullName被修改时set被调用,set中的this是vm,set会收到修改的值const arr = value.split('-')this.firstName = arr[0]this.lastName = arr[1]},get() { //fullName被读取时get被调用,get中的this是vmconsole.log('get')return this.firstName + '-' + this.lastName}}}})</script>
</body></html>

监视属性

     W a t c h Watch Watch

  1. 通过通过vm对象的$watch()或watch配置来监视指定的属性
  2. 当属性变化时, 回调函数自动调用, 在函数内部进行计算

—代码演示 🎊

	<!-- 
监视属性watch:1.当被监视的属性变化时, 回调函数自动调用, 进行相关操作2.属性必须存在,才能进行监视!!3.监视的两种写法:(1).new Vue时传入watch配置(2).通过vm.$watch监视computed和watch之间的区别:1.只要是computed能完成的功能,watch都可以完成2.watch能完成的功能,computed不一定能完成,例如:watch可以进行异步操作备注:1.所有被Vue所调用(管理)的函数,都不要写箭头函数 ----- 例如:watch中的函数、computed中的函数2.所有不是被Vue所调(管理)的函数,都要写成箭头函数 --- 例如:定时器的回调、ajax的回调等等3.watch就是Vue给我提供的一个监测数据改变的手段,至于数据发生改变后,要做什么,得看具体的业务了逻辑。4.注意 监视旧值后新值作废-->
<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>姓名案例_watch实现</title><script type="text/javascript" src="../js/vue.js"></script>
</head><body><!-- 准备好一个容器--><div id="root">姓:<input type="text" v-model="firstName"> <br /><br />名:<input type="text" v-model="lastName"><br /><br /><span>全名:{{fullName}}</span><br /><br /></div><script type="text/javascript">const vm = new Vue({el: '#root',data: {firstName: '张',lastName: '三',fullName: ''},watch: {/* 1.watch中的firstName什么时候调用?data中的firstName被改变的时调用2.watch中的firstName的this是谁?---vm*///监测姓-----精简写法/* firstName(newValue,oldValue){this.fullName = newValue + '-' + this.lastName}, *///监测姓-----完整写法/* firstName:{immediate:true, //若immediate为true则handler在初始化时,就会调用一次,以后就看firstName的改变了handler(newValue,oldValue){this.fullName = newValue + '-' + this.lastName}}, *///监测名-----精简写法lastName(newValue, oldValue) {this.fullName = this.firstName + '-' + newValue}}})//监测姓-----完整写法vm.$watch('firstName', {immediate: true, //若immediate为true则handler在初始化时,就会调用一次,以后就看firstName的改变了deep:true, //开启深度监视handler(newValue, oldValue) {setTimeout(() => { //此处定时器的回调一定要写箭头函数this.fullName = newValue + '-' + this.lastName}, 1000)}})</script>
</body></html>

效果

在这里插入图片描述

总结

以上是个人学习Vue的相关知识点,一点一滴的记录了下来,有问题请评论区指正,共同进步,这才是我写文章的原因之,如果这篇文章对您有帮助请三连支持一波


http://www.ppmy.cn/news/559586.html

相关文章

Python 进阶(三):Python使用ORM框架SQLAlchemy操作Oracle数据库

Python使用ORM框架SQLAlchemy操作Oracle数据库 前言1. 安装Oracle Instant Client2. 安装依赖库3. 导入模块并创建引擎4. 操作oracle数据库4.1 新增数据4.2 查询数据4.3 更新数据4.4 删除数据 前言 要详细连接Oracle数据库并使用SQLAlchemy进行操作&#xff0c;按照以下步骤进…

最小化暗数据风险的 5 个步骤

超过一半的公司数据存储库包含哪些内容&#xff0c;但大多数人甚至不知道自己拥有什么&#xff1f;这是暗数据&#xff0c;是公司在不知不觉中收集的信息&#xff0c;它们不是日常业务交互的组成部分&#xff0c;因此通常位于后台。 虽然这些数据对于大多数公司来说似乎是不必…

天敏VC4000调试

公司让我测试一个从客户那儿返回的问题产品&#xff0c;老板给我的是天敏VC4000采集卡。 我从天敏官网下载了驱动&#xff0c;各个版本及客户端&#xff0c;尝试了两三天天都没解决问题&#xff0c;是通过拨打天敏技服电话&#xff0c;让他远程协助解决的。 我觉得我犯的主要错…

java 使用JNA连接天敏VC4000采集卡

突然发现自己快成了专门调硬件的了 废话不多说了&#xff0c;正题开始 使用的库 1.官方的两个dll&#xff08;Mix.dll&#xff0c;Sa7134Capture.dll&#xff09;&#xff0c;可能对应不同版本&#xff0c;我这是6.0的&#xff0c;附件里有 2.jna的jar包&#xff0c;注意是两个…

天敏SDK2500开发小计

之前一个项目需要用天敏的卡做图片采集 实现是可以做&#xff0c;但是缺点是&#xff1a;1 图片没法子实时抓取&#xff0c;会滞后1秒左右&#xff0c;客户没法子接受。。。。 2 不知道是我没有处理好还是什么&#xff0c;很容易导致CPU 很高 优点&#xff1a;1 SDK真简单&…

视频采集卡二次开发(天敏SDK2500+openCV)

视频开发难点 做视频二次开发最常遇到的问题有两个&#xff0c;一个是算法分析的问题&#xff0c;就是图像处理的问题&#xff0c;另一个就是视频流的问题&#xff0c;就是串口和数据解码的问题。通常来说&#xff0c;科研领域大多在研究前者&#xff0c;而民间的发烧友大多在…

android版本4.4.2导航,天敏D8+_rk3288_Android_4.4.2_kiui7_蓝光导航极速版

新一代超强四核芯片处理器RK3288开创了芯片业界三个第一的时代——全球第一个四核ARM Cortex-A17内核芯片,全球第一个支持最新超强Mali-T76x系列GPU的芯片以及全球第一个4Kx2K 硬解H.265的芯片。支持最新Mali-T76x系列GPU的芯片,性能提升500%;支持4Kx2K实时硬解H.265的芯片,…

c#天敏sdk2000的视频采集卡简单调用

1&#xff1a;例子使用的是天敏sdk2000的视频采集卡 申明&#xff1a; //初始化话设备 [DllImport("DSStream.dll")] public static extern bool DSStream_Initialize(); [DllImport("DSStream.dll")] public static extern void DSStre…