運用場景:在列表中選擇項目跳轉到下一個頁面詳情,重新返回這個頁面的時候,需要滾動到之前的位置。
解決方法:
點擊跳轉的時候,把頁面滾動的位置存在session里面,再次進來的時候,為容器賦值,,發現不管怎么設置
this.$refs.content.scrollTop的值都為0,后面f放在nextTick方法里面執行並放在mounted,發現當后端數據速度比較忙時,也會失效,因為數據是異步請求,真正獲取數據不是在mounted。后面把nextTick放在數據請求成功后執行,成功解決問題,最終解決方案如下
methods: { //獲取項目列表 getGamePlansList() { gamePlansBySportCode({ sportCode: this.queryData.sportCode, startDate: this.dateValue }).then(res => { this.$vux.loading.show() if(JSON.stringify(res.data) !== "{}") { this.project = res.data this.isData = true } else { this.isData = false } // 從詳情回來的滾動條返回到上一次 this.$nextTick(() => { this.$vux.loading.hide() if(this.$utils.getSession('scrollTop')) { this.$refs.content.scrollBy(0, this.$utils.getSession('scrollTop')) } }) }) }