1.創建vue-cli3項目 指令 vue create 項目名
2.要想使用better-scroll 需要先引入 better-scroll的插件
這里采用 npm的方式 指令 npm install better-scroll -- save (項目依賴)
3.多個列表的展示 當前情況下是全局的滾動

4.我們希望制定某一個區域可以滾動
原生的方式
需要給
這些li的父親設置 當然,這種原生的方式在移動端會很卡 ,放棄使用

5.采用better-scroll實現滾動 引入better-scroll插件 和在mounted生命周期創建better-scroll實例對象 而且還有彈框效果 這里需要注意的是content外層必須要包上一層wrapper content也是惟一的,content里面可以有很多元素

6. 借助文檔實現功能
1 <template> 2 <div id="app"> 3 <div class="wrapper" ref="aaa"> 4 <ul class="content"> 5 <button>按鈕</button> 6 <li v-for="n in 100" :key="n">分類列表{{n}}</li> 7 </ul> 8 </div> 9 </div> 10 </template> 11 <script> 12 import BScroll from "better-scroll"; 13 export default { 14 name: "App", 15 //組價創建完后操作DOM元素 16 mounted() { 17 // console.log(this.$refs.aaa); 18 // console.log(document.querySelector(".wrapper")); 19 20 //默認情況下bscroll是不可以實時監聽滾動的 21 //probe 偵測 22 //0,1 都是不偵測實時的位置 23 //2:在手指滾動的過程中偵測,手指離開后的慣性過程中不偵測 24 //3:只要是滾動,就監聽 25 //click 默認是false warpper里面默認的原生事件是不能監聽的 26 const bs = new BScroll(document.querySelector(".wrapper"), { 27 probeType: 3, 28 click: false, 29 pullUpLoad: true 30 }); 31 32 // 監聽滾動類型 33 bs.on("scroll", position => { 34 console.log(position); 35 }); 36 37 //上拉加載事件 38 bs.on("pullingUp", () => { 39 console.log("上啦記載更多"); 40 //發送網絡請求,請求跟多頁的數據 41 42 //等數據請求完成,並且將新的數據展示出來后 43 setInterval(() => { 44 bs.finishPullUp(); 45 }, 2000); 46 }); 47 48 // document.querySelector('button').addEventListener('click',function(){ 49 // console.log("被點擊了") 50 // }) 51 52 // document.querySelector('button').onclick=function(){ 53 // console.log("sdsd"); 54 // } 55 } 56 }; 57 </script> 58 <style> 59 * { 60 padding: 0; 61 margin: 0; 62 } 63 .wrapper { 64 height: 150px; 65 background-color: red; 66 overflow: hidden; 67 /* overflow-y: scroll; */ 68 } 69 </style>
