请问一下, 为什么使用了定时器之后, vue组件的数据就不更新了?
showLocation() {
var self = this
self.locateAways = !self.locateAways
if (self.locateAways) {
self.$toast("持续定位跟踪显示")
} else {
self.$toast("取消持续定位跟踪显示")
clearInterval(this.locateTime)
return
}
this.locateTime = setInterval(() => {
uni.getLocation({
success: (res) => {
self.$http.httpGet({
url: '........',
data: {
lon: res.longitude,
lat: res.latitude,
roadCode: self.query.roadCode
},
success: (res) => {
if (!res.data.status) {
self.$toast(res.data.message)
return
}
var data = res.data.data.LocatePoint
data = data.slice(6, data.length - 1)
var strPoint = data.split(' ')
var point = new plus.maps.Point(parseFloat(strPoint[0]), parseFloat(strPoint[1]));
if (self.userMarker == null) {
self.userMarker = new plus.maps.Marker(point)
self.userMarker.setIcon('/static/marker-icon.png')
self.appMap.addOverlay(self.userMarker);
}
self.userMarker.setBubble(new plus.maps.Bubble('我的位置'), false)
self.userMarker.setPoint(point)
self.appMap.setCenter(point)
}
})
self.roadInfo.currentStakeNo = self.roadInfo.currentStakeNo + 1
self.$forceUpdate()
},
fail: () => {
this.points = "定位失败"
}
})
}, 2000)
}
<view style="height: 45px;">
<view class="bg-blue">
<view class="grid margin-bottom text-center col-2">
<view class="padding">路线名称:{{ roadInfo.roadName }}</view>
<view class="padding">当前桩号:K+{{ roadInfo.currentStakeNo }}</view>
</view>
</view>
</view>
1 个回复
tike
请问一下, 为什么使用了定时器之后, vue组件的数据就不更新了?