采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问下这里为什么要使用const,前两个虽然还能理解,但是这种不重复计算的变量我觉得应该在计算属性里定义,让vue去完成缓存比较好吧。第三个transform明明不能重复定义,为什么他还实现了可以变化的逻辑呢?
所有定义的不可改变的变量,理论上都应该使用 const,通过调用 tabBar 组件的 setSliderTransform 方法完成实现了变化。
第三个变量不是用const定义吗,为什么还能变化
我详细说一下我目前的理解,const的作用域是块内,所以每次函数执行完后,变量都会销毁。那么获取的tab宽度和slide宽度就会每次都去重新定义获取,没有达到用意。移动位置的变量也是每次都重新计算定义,后面也没有再改变,用let或者var都是一样的,但这里用const会造成一点理解偏差。一开始出现这个疑惑主要是对const的细节不够了解,后面去查了一下,如有错误,麻烦老师指正。
这里的 scroll 的 pos 每次都是变化的,所以这里定义一个局部变量 transform,并且每次都是要去计算一遍是符合预期的。ES6 是不用 var 的,至于用 let 还是 const 的一个原则是定义的变量如果不修改就全部用 const 定义。
登录后可查看更多问答,登录/注册
掌握Vue1.0到2.0再到2.5最全版本应用与迭代,打造极致流畅的WebApp
2.4k 21
1.0k 21
1.2k 20
1.1k 18
1.3k 17