第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

請教一下各位關(guān)于滾動條回滾的問題

請教一下各位關(guān)于滾動條回滾的問題

????????使用vue制作一個(gè)單頁面應(yīng)用,這里有個(gè)需求就是返回上一級頁面的時(shí)候,滾動條滾動到之前瀏覽到的位置。具體就是三個(gè)頁面,頁面之間使用路由切換,? ? ? ? 首頁—>子頻道頁面—>詳情頁? ? ? ? ?這樣的順序,但是由于我是在子元素比如class="xx-scroll" 上使用overflow:auto,來使子元素進(jìn)行滾動,所以瀏覽器自動回滾不起作用了,我就使用keep-alive緩存上一級頁面,然后自己設(shè)置回滾? ? ? ? ?首頁,子頻道頁默認(rèn)緩存,keepAlive:true ,詳情頁默認(rèn)不緩存? ? ? ? ?具體就是在路由的meta信息里設(shè)置一個(gè)scrollTop,然后頁面跳轉(zhuǎn)是觸發(fā)一個(gè)方法? ? ? ? ?首先記錄下當(dāng)前元素的scrollTop值,設(shè)置一個(gè)ref把當(dāng)前元素保存下來? ? ? ? ?然后才使用$route.push跳轉(zhuǎn)。? ? ? ? ?再使用watch監(jiān)聽$route????watch:{ ??????$route(to,from){if(to.name=='index'){this.$ref.ref.scrollTop=tthis.$route.meta.scrollTop}} ????}? ? ? ? ?這里我發(fā)現(xiàn)一個(gè)問題,當(dāng)?shù)谝淮芜M(jìn)入首頁,如果首頁和子頁面的都是緩存狀態(tài),? ? ? ? ?那么 子頁面->首頁 的滾動條回滾就不會生效,我查看了一下? ? ? ? ??????watch:{ ??????$route(to,from){ ??????if(to.name=='index'){ ??????this.$ref.ref.scrollTop=this.$route.meta.scrollTop ??????console.log('1'+this.$route.meta.scrollTop) ??????console.log('2'+this.$ref.ref.scrollTop) ??????} ??????} ????}????????? ? 結(jié)果打印出來1的值是正確的值,而2的值是0? ? ? ? ? ? 我就猜是不是其實(shí)賦值是成功的,但是后面有個(gè)事件把這個(gè)元素的scrollTop值又改為0了? ? ? ? ? ? 所以我就使用setTimeout讓? ? ? ? ? ????????this.$ref.ref.scrollTop=this.$route.meta.scrollTop????????????這個(gè)語句過1s后執(zhí)行,結(jié)果沒問題? ? ? ? ? ? 我想請問一下,設(shè)置scrollTop值以后發(fā)生了什么事件導(dǎo)致它的值又歸0了,我怎么才能知道發(fā)生了什么呢
查看完整描述

1 回答

?
可以說很強(qiáng)了

TA貢獻(xiàn)10條經(jīng)驗(yàn) 獲得超1個(gè)贊

????我知道了,由于那時(shí)候頁面還沒有渲染完,導(dǎo)致元素scrollTop值沒有生效就是0,

但是我想知道為什么前往的頁面沒有緩存就可以正常的設(shè)置,如果是默認(rèn)緩存的就不行呢

查看完整回答
反對 回復(fù) 2018-05-27
  • 1 回答
  • 0 關(guān)注
  • 1325 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號