如下代码
![](https://img.haomeiwen.com/i14189071/4c411219337348cc.png)
这是为什么呢?这涉及到Javascript里面的一些基础知识 引用传递及值传递
引用传递及值传递
思考下面的代码
![](https://img.haomeiwen.com/i14189071/ca5e219122429c44.png)
这说明Javascript中参数传递是以值传递的方式进行传递的,而传递的内容是它自己本身的引用值
用官方提供的图表示可能更为直观(左为引用传递,右为值传递)
![](https://img.haomeiwen.com/i4459743/60925ad91e284704.gif)
所以上面响应丢失的问题就可以解释了,怎么解决这些问题
使用官方提供的API,官方有提供有两种方式解决这个问题,我们修改一下useMousePosition,首先是toRefs
![](https://img.haomeiwen.com/i14189071/de72d6ead0f7c59a.png)
另外一个是使用ref去初始化state
![](https://img.haomeiwen.com/i14189071/3df290fa459b3272.png)
Summary 总结
新的Composition API让我们有了更好的方式去组织我们的组件及方法,但是也像官方介绍文档说的一样More Flexibility Requires More Discipline,获得更多灵活性同时需要更多的条件去约束。
网友评论