不知道vue3的火热程度如何,最近需要用vue写个小项目,于是想用vue3来写,顺便学习进步,一切都挺顺利,在vue3里新的特性十分简洁,不到一会儿就都学会了,有的时候事情也没有想象中的顺利。
1、首先在setup 入口函数中取消了this.
这个消息对于思想还在vue2中的同学我来说,增加了不少疑惑,因为有很多的第三方依赖以及vue本身的生态对象依赖于this,带着这样的疑惑,我终于碰到了问题,就是等我想要获取template中绑定的ref对象时,呆住了!!!没错,我慌了,没有了this,我怎么拿???
2、解决方案=======》
在经过一系列的搜索引擎摸索和毛线球一样思路,我找到了一个很不错的方案,灵感也来源于其他帖子, 首先,先来看下网络普遍的解决方案:getCurrentInstance();函数,官网文档明确说明,这个东西少用为好,而且在打包后的文件中,这个函数是不起作用的。
那么到底怎么能优雅又正确的获取this.$refs呢?
分为三步!
1、绑定ref
2、导入ref函数
3、依靠响应式绑定ref元素
这个方法具体的实现细节我没来得及仔细研究,但是就目前来看,这确实是一种简洁的refDom的用发,依靠响应式注册,妈妈再也不用担心我模板有没有加载上了
接下来当然是使用了
这样我们就可以通过 states对象在setup中使用ref绑定的模板对象了,具体的细节和错误还有待学习考究,欢迎各位同志的批评,也请高手给出更加正确的用法及思路。