网站首页 > 博客文章 正文
作为vue官方团队成员,也是跟大家分享一下vue3.5更新的新功能。首先在项目里面现在可以直接去安装vue3.5了,安装完成之后在项目里面就可以直接用了。
·首先在这边说一个对使用影响比较大的功能,就是props的结构。结构出来可以在这边给它默认值,像以前可能要调些其他的APIwithDefaults,可能要这样,这样就感觉不太友好了。现在就可以这样,就是这样结构出来,然后把默认值给它就可以用了。
在这边来试一下,在APP里面传递了一个count,message没有传,就用默认的hello。count传了一个1,到页面看一下,这边message是hello,count是1,点击的时候也是显示的,它是这么一个功能。
count解构出来的这些东西,用watch去监听的时候有一点问题,就是count不能直接传递过去,不能这样直接传递过去,这样传递过去会报错。像以前直接这样写也是会报错的,也不能监听,要给它传递一个Getter,然后返回count,这样就可以了。
·来看一下,打开控制台,点击,这个时候就可以监听到了,是这么一个东西。
·来看一下第二个,第二个就是新增了一个左式函数,叫useld,就是useld函数。这个函数返回全局的唯一的ID,这边返回了一个ID,放到hello word里面可能就变成2了,等于1了,它是一个自增的唯一的ID。
但是它还是有一些问题,在这边用的时候只能确保在同一个createApp的实例里面是唯一的,要是多个就不能保证了。比如这边写了一个案例,如果是多个的情况下就会有这么一个问题,把这个也复制一份到上面,就给它一个APP一。
现在是两个create APP,到页面来看一下,发现这两个好像都是一样的,这个是APP一,两个都是一样的,这时候就不能保证唯一了。
有什么办法解决?可以给它加一个前缀,就是这样,APP点儿config,点儿id prefix,去给它加一个前缀,比如要给它加一个APP1,横杠这样的,这样就可以确保是唯一的了。但是要确保每一个APP加的前缀是不一样的,是这么一个问题,大家在使用的时候注意点就行。
这是第二个问题,第二个功能就已经讲完了,接着往下看,它还有哪些功能?就是还加了一个这个东西,就是use template REF,比如EL,写个use template REF,这时候APP干啥用的?它可以去传,比如这边绑定了一个button,elButton,写个button,把ref的字符串传递给它,传递给它之后就可以拿到DOM了,跟以前用的ref是一样的。比如以前用的时候是这样的,以前都是这样用的,比如要搞巴腾,就这样去拿到DOM,这样是可以拿到button的,再拿到按钮,但是现在可以用这种方式去拿,这样也可以拿到。
为什么出API?countis{c是因为之前经常用ref来声明DOM的引用,有些人会觉得ref是用来声明详细数据的,在这边声明了DOM的引用或者组件的实例的引用,就感觉不是很协调,就出了这么一个一篇。
当然这边也可以传泛型,counti也可以传HTMLButtonElement,这样就可以,这个时候就变成了html,count is{coun,有可能是这样的,有可能在这里没有传给它,所以就变成了null,是这么一个问题。
当然也可以给它改名字,就是button EL,这样也可以,现在就不受命名的限制了,只需要把REF传递过去就可以了,至于变量叫什么名字就无所谓了,像以前用ref的时候必须是一样,这是这么一个功能。
接着来看下一个功能,下一个功能是什么?就是它加了一个函数,叫on water clean up,函数是干什么的?比如这里有个watch,监听了count content,每次变的时候都去给window上面加一个click事件,这个时候打印一下,click然后newVal,让它立即执行,让它立即执行好,到页面上来看一下。
·这个时候点击,这个时候就会把click还有1帮我打印出来,但是这个时候有一个问题,什么问题?就是比如在这边count++变成2了之后再点击,点击时间就加了两次。
·onWatchCleanUp就是用来清理上一色的副作用,比如可以在这边给它remove掉函数,要拿出来,在下面给它removeEventListener,这样就可以了。
·这个函数接收的回调会在下一次执行water之前去执行,就是在下一次执行之前先执行函数,然后把注册的事件给清除掉了。
·现在是1,点击这时候变2了,这时候就是2,2就不会去重复执行上一次的click了,是这么一个功能。
·当然这边也是有的,就是在这边也可以拿到order,后面有一个东西,这两个功能是一样的,来看一下,也是link报错了,来看一下,点击,刷新一下,这个时候是1,点击,变2了,它们两个功能是一样的。
·新功能就加了这么多,还有就是进行了一些显示系统的更新,就是显示系统的更新,更新然后就是优化了一些内存占用和依赖追踪的性能,这个在正常使用的时候是体验不到的,就是也体会不太能体会的到,除非显示的对象很大的情况下可能可以体会到。
有这么一个问题,所以对使用上面没有什么影响,就是使用的时候之前是怎么用的,还是怎么用就可以了。
今天的视频就到这里了,下期见,bye-bye。
猜你喜欢
- 2024-10-28 功能问题:如何解决跳同一路由组件时页面不变?
- 2024-10-28 Vue3.0来龙去脉更新历程(vue3最新版本)
- 2024-10-28 vue3移除了$on,$off ,$once(vue 移除list中的项)
- 2024-10-28 图解 Vue 异步更新原理(vuex异步)
- 2024-10-28 VUE又要更新了,这框架真这么难学吗?
- 2024-10-28 Vue 3.3.6 发布了,得益于WeakMap,它更快了
- 2024-10-28 新闻在线全栈开发实战(vue3+springboot)之五-数据库信息的更新
- 2024-10-28 vue引入element-ui后界面空白(vue引入elementui不起作用)
- 2024-10-28 VUE3前端开发入门系列教程三:VITE热更新配置及WSL填坑
- 2024-10-28 vue3使用vuex 集中式管理状态数据
你 发表评论:
欢迎- 06-23MySQL合集-mysql5.7及mysql8的一些特性
- 06-23MySQL CREATE TABLE 简单设计模板交流
- 06-23MYSQL表设计规范(mysql设计表注意事项)
- 06-23MySQL数据库入门(四)数据类型简介
- 06-23数据丢失?别慌!MySQL备份恢复攻略
- 06-23MySQL设计规范(mysql 设计)
- 06-23MySQL数据实时增量同步到Elasticsearch
- 06-23MySQL 避坑指南之隐式数据类型转换
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)