在react||vue移动端项目中定位,需要使用高德定位SDK
1. 登录高德官网创建一个应用
1.1 登录新建应用
1.2 添加一个key(web端jsapi)
1.3 拿到key做下一步准备
2. 登录jsapi官网,找到对应定位的功能
2.1 找到对应案例的亲手试一试
https://lbs.amap.com/api/javascript-api/example/location/get-city-name-by-ip-location
3. 根据案例,使用我们的定位API
3.1 在index.html中引入高德js文件
<script src='xxxxxx'></script>
//放在body的最后一行
3.2 把官方定位函数放入要定位的组件
定位函数 = () => {
//把里面的.innerHTML这种节点代码删除掉!!
//拿到坐标setState即可
//坑1:script代码会加载到window上,所以注意
//坑2:回掉函数没有this,所以需要解决
}
3.3 初始化时调用定位函数
componentDidMount(){
this.定位函数()
}
在react中使用better-scroll
betterscroll介绍:
他是一个可以用在移动端任意滚屏场景的插件(列表滚动,轮播等....)
使用了bs可以让滚动变得非常丝滑
betterscroll的使用:
1. 下载安装
yarn add better-scroll -S
2. 引入
import BScroll from 'better-scroll'
3. 使用
3.1 确保当前要滚动的div下面要套一个空div
<div 要滚动的元素>
<div>
//把所有儿子放到此div中
</div>
</div>
3.2 在合适的位置初始化new BScroll
生命周期
new BScroll('#xxxxxxxx')
div的高度必须固定,父级逐层检查
如何使用锚点滚动:
1. 给右侧滚动条添加点击事件,通过传参,传递当前点击的title名字
2. 在点击事件中,让底部div用api函数,滚动到指定位置
this.xxxx.scrollToElement('#要滚动到的divid', 动画时长)
//这里注意需要先给底部的每个div添加id
如何使用横向滚动:
new BScroll("#xx",{scrollX: true,eventPassthrough: 'vertical'})
小知识
JSON文件:
前端持久化: localStorage(存储在浏览器中,最多5M), json文件(可以存储海量数据,方便阅读修改)
JSON文件存储数据:
1. 新建xxx.json
2. 写入要存储的数据即可
特点:1. 整个json文件只能有一个根节点
2. key必须用双引号
{
"name": "zhangsan
}
3. 整个json文件不支持单引号''
所有的key或者是字符串必须用""包裹
JSON文件读取数据:
1. 在react或vue项目中引入json数据即可
import 变量名 from './xxxxxx.json'
网友评论