DCloud
DCloud
  • 发布:2019-08-23 11:05
  • 更新:2019-09-03 11:14
  • 阅读:2371

【vue.js教程】第8节 条件渲染讨论区

分类:ASK社区

此贴为【vue.js教程】第8节 条件渲染讨论区,可以在这里分享经验、交流问题。

视频教程链接

2019-08-23 11:05 负责人:无 分享
已邀请:
tike

tike

请问一下, 为什么使用了定时器之后, 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>

该问题目前已经被锁定, 无法添加新回复