字母索引滚动监听
修改字母索引组件,绑定三个touch事件,分别是touchStart、touchMove、touchEnd。
定义三个touch事件
只有当touchstart之后,才执行touchmove里的内容,所以在data里定义一个标识位touchStatus,默认值为false,
当手指触摸的时候,标识位的值为true,结束滑动的时候,标识位的值为false。只有当标识位的值为true的时候,才去执行move事件的处理。
然后要做的一件事就是,当我们在字母索引处上下滑动的时候,现在所在的位置是第几个字母。
主要是思路是:
1.获得A字母距离顶部的高度
2.滑动的时候看下当前手指位置距离顶部的高度
3.前两个做一个差值,算出当前手指位置和A字母顶部的差值,
然后除以每个字母的高度,就能算出当前是第几个字母了
4.然后取这个字母触发change事件给外部
如果想根据下标,找到下标对应的字母的话,首先得有个数组存储字母的列表。但是现在cities是个对象,并不是个数组,所以我们需要一个数组。
在computed计算属性中定义一个letters