黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 一個(gè)快速的Vue3無限滾動(dòng)組件

一個(gè)快速的Vue3無限滾動(dòng)組件

來源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2022-09-20 09:52:29 1663638749

  如果你在社交媒體上停留的時(shí)間過長,那么,你所在的網(wǎng)站很可能正在使用無限滾動(dòng)組件。

  無限滾動(dòng)組件是在用戶向下滾動(dòng)頁面時(shí)加載新內(nèi)容,而不是將其分成多個(gè)頁面。

  它們對于特定類型的內(nèi)容(例如用戶生成的內(nèi)容)非常有效。

  以下是無限滾動(dòng)的示例。

一個(gè)快速的Vue3無限滾動(dòng)組件1

 

  在今天的教程中,我們將使用 Composition API 創(chuàng)建一個(gè) Vue3 無限滾動(dòng)組件。這是我們將在它結(jié)束時(shí)構(gòu)建的內(nèi)容的預(yù)覽。

  如你所見,它是無限滾動(dòng),屏幕右側(cè)的滾動(dòng)條反映了這一點(diǎn)。

一個(gè)快速的Vue3無限滾動(dòng)組件2

 

  現(xiàn)在,讓我們一起來看看這個(gè)組件的實(shí)現(xiàn)過程。

  為什么還要使用無限滾動(dòng)組件?

  我們都見過使用無限滾動(dòng)來顯示其內(nèi)容的網(wǎng)站的示例,但是什么時(shí)候使用它,它的效果會(huì)比使用典型的分頁系統(tǒng)更好呢?

  你可以閱讀我之前分享的一篇文章《無限滾動(dòng)與分頁哪個(gè)用戶體驗(yàn)更好?如何正確使用它們》,在這里,我只簡單的總結(jié)一下它們的有缺點(diǎn)。

  無限滾動(dòng)的優(yōu)點(diǎn):

  用戶參與和內(nèi)容發(fā)現(xiàn)

  滾動(dòng)比點(diǎn)擊更好(更好的可用性)

  滾動(dòng)適用于移動(dòng)設(shè)備

  無限滾動(dòng)的缺點(diǎn):

  頁面性能和設(shè)備資源

  項(xiàng)目搜索和位置 - 用戶無法為頁面添加書簽并保留位置

  不相關(guān)的滾動(dòng)條

  就像所有與 Web 開發(fā)有關(guān)的事情一樣,選擇任何一個(gè)選項(xiàng)都有正當(dāng)?shù)睦碛伞U垊?wù)必考慮哪個(gè)最適合你的項(xiàng)目!

  無論如何,學(xué)習(xí)如何構(gòu)建一個(gè) Vue3 無限滾動(dòng)組件是非常有趣的,并且可能對你有用。

  首先,讓我們從高層次上回顧一下這個(gè)系統(tǒng)是如何工作的。

  主要分為三個(gè)部分:

  生成內(nèi)容的模擬 API 調(diào)用

  呈現(xiàn)單個(gè)內(nèi)容的 PostComponent

  ListComponent 包含所有內(nèi)容組件并處理從 API 加載內(nèi)容

  1.模擬 API 調(diào)用

  在教程中,我們將編寫一個(gè)返回硬編碼數(shù)據(jù)的虛擬 API 調(diào)用。如果你在真實(shí)的后端和數(shù)據(jù)庫中實(shí)現(xiàn)這一點(diǎn),重要的方面,你可以根據(jù)數(shù)據(jù)庫中的大小和位置決定以某種方式限制你的結(jié)果。

  這個(gè) API 調(diào)用可以是任何東西,從簡單應(yīng)用程序中的簡單數(shù)據(jù)庫查詢一直到更高級應(yīng)用程序中的復(fù)雜推薦算法。

  以下是社交媒體網(wǎng)站常用的內(nèi)容加載算法的一些不同想法:

  發(fā)布日期

  與當(dāng)前用戶的相關(guān)性

  帖子上的活動(dòng)

  然而,為簡單起見,我們的算法只會(huì)生成隨機(jī)的帖子數(shù)據(jù),并根據(jù)給定的參數(shù)返回 X 個(gè)帖子。

var names = ['Matt Maribojoc''Lebron James''Bill Gates''Childish Gambino'] // used to generate posts for this tutorial

const getPosts = (number) => {

  // generate a number of posts

  // in a real setting, this would be a database call or algorithm

  let ret = []

  for (var i = 0; i < number; i++) {

    ret.push({

      author: names[i % names.length],

      content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.'

    })

  }  

  return ret

}

export default getPosts

  2.制作我們的內(nèi)容組件

  現(xiàn)在我們有了生成內(nèi)容的方法,讓我們創(chuàng)建一個(gè)允許我們渲染它們的組件。

  這段代碼沒有什么花哨的,我們只需要通過組件的 props 接收一個(gè)帖子,然后渲染作者和內(nèi)容。這里也有一些風(fēng)格可以讓事情變得更漂亮。

一個(gè)快速的Vue3無限滾動(dòng)組件3

  3.顯示我們的內(nèi)容

  接下來,讓我們實(shí)際弄清楚如何在屏幕上顯示一些帖子。這就是 ListComponent.vue 組件派上用場的地方。

  如果你沒有任何 Vue3 經(jīng)驗(yàn),這段代碼對你來說可能有點(diǎn)奇怪。但是請查看本 Vue3 入門指南。

  簡而言之,Vue3 將 Options API 替換為 Composition API,這意味著代碼(生命周期掛鉤、數(shù)據(jù)等)都組織在一個(gè)設(shè)置方法中。

  所以首先,我們要導(dǎo)入一些東西:

  我們的 API 調(diào)用

  我們的 PostComponent

  用于創(chuàng)建反應(yīng)數(shù)據(jù)的參考

  onMounted 和 onUnmounted 訪問這些生命周期 hooks。

一個(gè)快速的Vue3無限滾動(dòng)組件4

  接下來,在我們的 setup 方法中,我們想要設(shè)置一個(gè)響應(yīng)式的內(nèi)容變量來調(diào)用我們的 getPosts API 調(diào)用。不要忘記返回它,以便我們的模板可以訪問它!

一個(gè)快速的Vue3無限滾動(dòng)組件5

  最后,為了在模板中顯示我們的數(shù)據(jù),我們想要運(yùn)行一個(gè) v-for 循環(huán)來迭代我們的內(nèi)容并為每個(gè)內(nèi)容呈現(xiàn)一個(gè) PostComponent。我們的模板應(yīng)該是這樣的(注意 .list-component 有一個(gè) ref,我們稍后會(huì)談到)

一個(gè)快速的Vue3無限滾動(dòng)組件6

  我們當(dāng)前的頁面應(yīng)該呈現(xiàn) 10 個(gè)內(nèi)容,但是如果我們滾動(dòng)到底部,什么都不會(huì)發(fā)生。

  那么,現(xiàn)在讓我們繼續(xù)進(jìn)行激動(dòng)人心的部分:無限滾動(dòng)!

  4.Vue3 無限滾動(dòng)

  現(xiàn)在我們已經(jīng)完成了所有設(shè)置,當(dāng)用戶向下滾動(dòng)到內(nèi)容底部時(shí),我們可以開始加載更多數(shù)據(jù)。

  讓我們從創(chuàng)建一個(gè)方法開始,它一次加載 10 個(gè)內(nèi)容并將它們附加到我們的帖子變量中。

一個(gè)快速的Vue3無限滾動(dòng)組件7

  現(xiàn)在,我們只需要一種方法來觸發(fā)這個(gè)方法。我們將通過添加一個(gè)監(jiān)聽滾動(dòng)事件并調(diào)用方法的事件監(jiān)聽器來做到這一點(diǎn)。我們將在組件安裝時(shí)添加它,并在組件卸載(銷毀)時(shí)刪除它。

一個(gè)快速的Vue3無限滾動(dòng)組件8

  非常棒!現(xiàn)在,我們需要準(zhǔn)備好開始加載更多內(nèi)容了。如果你還記得前面的教程內(nèi)容的話,其實(shí),我們只需要向 .list-component 元素添加了一個(gè) refs 屬性。如果你之前在 Vue 中使用過 refs,這是一個(gè)熟悉的概念,但我們在 Vue3 中設(shè)置它們的方式有點(diǎn)不同。

  我們將再次使用 refs 方法來實(shí)例化我們的 ref,然后,從我們的 setup 方法中返回它。

一個(gè)快速的Vue3無限滾動(dòng)組件9

  通過使用 refs 訪問我們的元素,我們可以完成我們的方法來確定我們是否滾動(dòng)到內(nèi)容的底部。

  以下代碼通過檢查我們內(nèi)容的底部是否在屏幕上可見來工作。如果是,我們調(diào)用我們的方法來加載更多內(nèi)容!

一個(gè)快速的Vue3無限滾動(dòng)組件10

  就是這樣!當(dāng)我們向下滾動(dòng)到當(dāng)前內(nèi)容的底部時(shí),應(yīng)該會(huì)自動(dòng)加載新內(nèi)容。讓我們看看我們有什么。

  無限滾動(dòng)組件的可能擴(kuò)展

  這只是創(chuàng)建Vue3無限滾動(dòng)組件的介紹。有很多不同的方向可以改進(jìn)它。

  如果你在真實(shí)系統(tǒng)中構(gòu)建它,我會(huì)考慮添加以下一些想法。

  由于 API 調(diào)用將是異步的,因此創(chuàng)建某種加載微調(diào)器,在加載新數(shù)據(jù)時(shí)顯示

  創(chuàng)建更復(fù)雜的 API 算法并將其連接到數(shù)據(jù)庫

  為每個(gè)內(nèi)容添加更多數(shù)據(jù)并找到顯示它的新方法

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
快速通道
日韩在线观看网站| 国产不卡精品一区二区三区| 九九久久99| 精品视频一区二区三区免费| 日日夜夜婷婷| 国产精品自拍一区| 免费一级生活片| 国产视频久久久| 精品视频在线观看视频免费视频 | 国产a一级| 美女被草网站| 国产不卡在线看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品在线免费播放| 亚洲精品中文一区不卡| 欧美一级视| 九九干| 久久99中文字幕| 国产高清在线精品一区二区| 欧美另类videosbestsex久久 | 99热视热频这里只有精品| 黄视频网站在线看| 欧美大片aaaa一级毛片| 一本高清在线| 香蕉视频一级| 国产a毛片| 亚洲第一页色| 免费一级片网站| 青青青草视频在线观看| 成人影视在线播放| 欧美另类videosbestsex| 国产网站免费| 99久久视频| 国产a免费观看| 香蕉视频亚洲一级| 九九久久国产精品| 日本在线www| 免费国产在线观看不卡| 国产a毛片| 你懂的日韩| 国产精品自拍一区| 久久国产精品永久免费网站| 久久精品店| 欧美激情一区二区三区视频 | 精品久久久久久影院免费| 久久成人性色生活片| 欧美a级片免费看| 免费国产在线观看不卡| 国产成人精品综合久久久| 亚洲www美色| 中文字幕97| 91麻豆tv| 亚洲精品影院| 日韩一级黄色片| 999精品在线| 国产一区二区精品| 国产网站免费| 天天色成人网| a级毛片免费观看网站| 国产视频一区在线| 国产麻豆精品免费视频| 国产a毛片| 日本伦理黄色大片在线观看网站| 国产视频久久久| 欧美一区二区三区在线观看| 欧美18性精品| 亚久久伊人精品青青草原2020| 国产原创中文字幕| 亚洲精品中文一区不卡| 九九精品影院| 精品在线免费播放| 青青青草影院| 欧美另类videosbestsex久久| 国产一区二区精品| 欧美大片a一级毛片视频| 韩国三级香港三级日本三级| 国产一区二区福利久久| 久久精品欧美一区二区| 日韩在线观看网站| 国产原创中文字幕| 国产精品免费久久| 免费国产在线观看不卡| 精品国产一区二区三区免费 | 国产美女在线观看| 欧美激情一区二区三区视频高清 | 国产不卡精品一区二区三区| 成人a级高清视频在线观看| 天天做日日干| 日韩一级黄色片| 成人在激情在线视频| 欧美一区二区三区性| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 美女免费精品高清毛片在线视| 国产麻豆精品| 美国一区二区三区| 久久久久久久免费视频| 欧美α片无限看在线观看免费| 你懂的国产精品| 日韩综合| 沈樵在线观看福利| 四虎影视久久久免费| 日本在线不卡视频| 欧美另类videosbestsex久久 | 久久精品免视看国产成人2021| 你懂的国产精品| 一级毛片视频免费| 国产一区二区精品尤物| 精品视频一区二区三区免费| 国产国产人免费视频成69堂| 99久久网站| 日韩免费在线视频| 欧美a免费| 国产精品12| 97视频免费在线观看| 国产欧美精品午夜在线播放| 欧美大片a一级毛片视频| 九九久久国产精品| 日日日夜夜操| 黄色免费三级| 台湾美女古装一级毛片| 可以在线看黄的网站| 久久精品大片| 成人免费高清视频| 日韩综合| 国产麻豆精品| 韩国三级一区| 999精品影视在线观看| 夜夜操网| 青青青草视频在线观看| 精品久久久久久影院免费| 精品视频在线观看一区二区| 日韩avdvd| 国产美女在线观看| 中文字幕97| 国产一区二区精品久| 国产91素人搭讪系列天堂| 99色视频在线| 亚洲爆爽| 99热视热频这里只有精品| 色综合久久天天综合观看| 久久精品免视看国产成人2021| 国产精品1024在线永久免费| 高清一级毛片一本到免费观看| 国产美女在线一区二区三区| 青青久久精品| 精品视频一区二区三区免费| 可以免费看污视频的网站| 午夜在线观看视频免费 成人| 亚洲第一色在线| 色综合久久天天综线观看| 国产一区二区精品在线观看| 亚洲精品永久一区| 精品视频一区二区三区免费| 九九精品影院| 97视频免费在线观看| 成人免费观看视频| 97视频免费在线观看| 国产成人精品综合| 亚洲 激情| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 黄色免费三级| 久久99爰这里有精品国产| 国产不卡精品一区二区三区| 国产一区二区精品尤物| 免费一级生活片| 国产一区二区精品| 欧美大片一区| 可以免费在线看黄的网站| 国产a视频| 欧美激情一区二区三区在线播放| 欧美激情一区二区三区视频高清| 免费的黄视频| 免费一级片网站| 成人影院久久久久久影院| 国产欧美精品| 国产麻豆精品视频| 欧美一级视频免费观看| 91麻豆国产| 欧美激情伊人| 久久99爰这里有精品国产| 91麻豆精品国产自产在线| 麻豆污视频| 欧美a级成人淫片免费看| 天天做日日爱夜夜爽| 二级特黄绝大片免费视频大片| 欧美另类videosbestsex视频| 一级毛片视频在线观看| 日韩av成人| 日韩字幕在线| 国产91丝袜在线播放0| 日韩一级黄色| 日本特黄一级| 久久久久久久男人的天堂| 午夜在线观看视频免费 成人| 九九干| 国产网站免费观看| 国产亚洲精品成人a在线| 久草免费在线色站| 999精品在线|