日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

新手教程:不写JS,在MIP页中实现异步加载数据

發布時間:2025/3/8 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 新手教程:不写JS,在MIP页中实现异步加载数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從需求談起:在 MIP 頁中異步加載數據

MIP(移動網頁加速器) 的 加速原理 除了靠譜的 MIP-Cache CDN 加速外,最值得一提的就是組件系統。所有 JS 交互都需要使用 MIP 組件實現,保證頁面中所有 JS 都是最精簡高效的,避免一個導航效果需要引用 jquery.js,bootstrap.js,bootstrap-some-nav.js 等多個 JS 實現。

誠然,“所有交互都要使用組件,或自己封裝組件” 對于大部分開發者朋友來說,是有些不自由的。很多 MIP 開發者會有類似的疑問:

我想從服務器獲取數據,渲染到頁面上。是不是要自己封裝 MIP 組件啦?

又或者:

推薦數據是實時計算的,并且有很多條,要做瀑布流加載效果,我的 JS 要怎么引入到頁面里來?

這些合理合法的異步數據加載需求,MIP 都已經支持了,而且不需要寫一行 JS 代碼!

異步加載數據-通用解決方案

在直接將用法之前,先感性地認識一下異步加載數據的通用方案。雖然每個網站的后端請求地址不同,數據庫操作方式不同。但大家的需求是相同的:

異步加載數據,并呈現在頁面上。

為了實現這個效果,大家也不約而同地選擇了類似方案:

  • 發送一個異步請求獲取 JSON 數據
  • 根據返回的數據 status 確認請求是否有效
  • 解析有效的 JSON 數據,拼接在 HTML 標簽中插入文檔
  • 寫成偽代碼是這個樣子的:

    // 第一步:發送異步請求,獲取數據 var data = 異步請求 ('https://m. 域名 .com/ 請求地址 ', ' 體育新聞 '' 第一頁數據 '); // 第二步:解析數據,拼裝 DOM var 實際內容 = []; if(data.status == ' 請求成功 ') {for(var i in data. 新聞數組) {var 單個新聞 = data. 新聞數組 [i];var 實際內容 [i] = '<a href = 單個新聞 . 鏈接> 單個新聞 . 標題 </a>'} } // 第三步:將拼裝好的 DOM 插入到文檔流 document.querySelector(' 新聞 wrapper').innerHTML(實際內容 .join(''));

    上述步驟中,異步請求拼裝,for 循環數據處理,最終 DOM 操作都是通用的,真正變化的只有以下三個變量:
    - 異步請求鏈接
    - 返回數據格式
    - 插入位置

    MIP 組件非常貼心地將所有通用 JS 封裝起來,露出幾個配置接口,供開發者直接使用。由于應用場景和交互要求區別,共實現了兩個組件:MIP 列表組件和 MIP 無限下拉。

    推薦 1:異步數據 MIP 組件–列表組件

    列表組件 名稱為<mip-list>,可用于將頁面中配置的 JSON 數據渲染到頁面中,也可以發送異步請求,并拼裝數據插入到頁面中。通常用于可變化數據的顯示,如天氣信息,閱讀量等。

    用法如下(有所簡略):

    <mip-list src="https:// 后端異步請求地址 " preLoad><!-- template 標簽為 html 模板,不會顯示。每條數據按照這個模板的格式插入頁面 --><template type="mip-mustache"><a href="{{數據中的鏈接}}">{{數據中的新聞標題}}</a></template></mip-list><!-- mip-list 組件執行依賴以下兩個 JS --> <script src="https://c.mipcdn.com/static/v1/mip-list/mip-list.js"></script> <script src="https://c.mipcdn.com/static/v1/mip-mustache/mip-mustache.js"></script>

    配置服務器返回請求,對應的數據格式為:

    {"status": 0,"data":{"items": [{" 數據中的鏈接 ": "https://a.xx.com/001"," 數據中的新聞標題 ": "001_ 這是一個新聞標題 ",},{" 數據中的鏈接 ": "https://a.xx.com/002"," 數據中的新聞標題 ": "002_ 這是另一個新聞標題 ",}} }

    最終,mip-list 組件根據數據,拼裝 DOM 插入頁面,最終效果為:

    <mip-list src="https:// 后端異步請求地址 " preLoad><template type="mip-mustache"><a href="{{數據中的鏈接}}">{{數據中的新聞標題}}</a></template><div class="mip-fill-content" role="list"><!-- 開始:根據異步請求返回值,渲染出的 HTML --><a href="https://a.xx.com/001">001_ 這是一個新聞標題 </a><a href="https://a.xx.com/002">002_ 這是另一個新聞標題 </a><!-- 結束:根據異步請求返回值,渲染出的 HTML --></div> </mip-list>

    除了上文介紹的用法,<mip-list>列表組件支持渲染同步數據,點擊加載更多等功能。可以參照 MIP 官網 mip-list 文檔 說明來使用。

    推薦 2:異步數據 MIP 組件–無限下拉

    無限下拉 組件名稱為<mip-infinitescroll>,當用戶滾動到頁面底部,或距離頁面底部有一定距離時,自動發送異步請求獲取更多數據,并插入頁面。通常用于正文后的相關文章推薦,“你可能感興趣” 欄目。

    用法如下(有所簡略):

    <mip-infinitescroll data-src="https:// 后端異步請求地址 " template="myTemplate"><!-- template 標簽為 html 模板,不會顯示。每條數據按照這個模板的格式插入頁面 --><template type="mip-mustache" id="myTemplate"><a href="{{數據中的鏈接}}">{{數據中的新聞標題}}</a></template><!-- mip-infinitescroll-results 是拼裝完畢結果的插入位置 --><div class="mip-infinitescroll-results"></div></mip-infinitescroll><!-- mip-infinitescroll 組件執行依賴以下兩個 JS --> <script src="https://c.mipcdn.com/static/v1/mip-infinitescroll/mip-infinitescroll.js"></script> <script src="https://c.mipcdn.com/static/v1/mip-mustache/mip-mustache.js"></script>

    配置服務器返回請求,對應的數據格式為:

    {"status": 0,"data":{"items": [{" 數據中的鏈接 ": "https://a.xx.com/001"," 數據中的新聞標題 ": "001_ 這是一個新聞標題 ",},{" 數據中的鏈接 ": "https://a.xx.com/002"," 數據中的新聞標題 ": "002_ 這是另一個新聞標題 ",}} }

    MIP 無限下拉會遍歷 data.items 每條數據(Key-Value),根據 Key 查找槽位,將對應的 Value 渲染到頁面.mip-infinitescroll-results中。最終的結果如下:

    <mip-infinitescroll data-src="https:// 后端異步請求地址 " template="myTemplate"><template type="mip-mustache" id="myTemplate"><a href="{{數據中的鏈接}}">{{數據中的新聞標題}}</a></template><div class="mip-infinitescroll-results"><!-- 開始:根據異步請求返回值,渲染出的 HTML --><a href="https://a.xx.com/001">001_ 這是一個新聞標題 </a><a href="https://a.xx.com/002">002_ 這是另一個新聞標題 </a><!-- 結束:根據異步請求返回值,渲染出的 HTML --></div> </mip-infinitescroll>

    mip-infinitescroll 組件的具體使用方法見 MIP 官網-無限下拉,除了上述的用法,還支持個性化配置以下字段:

    • 每次插入到頁面的結果條數
    • 插入頁面的結果總條數
    • 異步請求服務器過期時間
    • “加載中……” 文案
    • “沒有更多內容了 >o<” 文案

    總結

    以上是生活随笔為你收集整理的新手教程:不写JS,在MIP页中实现异步加载数据的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: av手机免费看 | 亚洲国产精品久 | 亚洲porn| 岛国av中文字幕 | 黄色在线网| 日本爽爽爽爽爽爽在线观看免 | 激情网久久| 国产在线导航 | 精品人妻无码一区二区三区蜜桃一 | h片大全 | 国产馆在线观看 | 无码人妻少妇色欲av一区二区 | 丰满熟女人妻一区二区三区 | 国产主播在线播放 | 欧美最猛性xxxxx(亚洲精品) | 亚洲插插插 | 午夜在线一区二区 | 少妇视频网站 | 两个人做羞羞的视频 | 欧美www在线观看 | 一本一道久久a久久精品综合 | 91水蜜桃| 狠狠干青青草 | 日本久久综合网 | 天天天天干 | 欧美精品一级片 | 久久蜜桃精品 | 中文字幕人乱码中文字 | 色婷婷av一区二区三区之e本道 | 成人国产精品入口免费视频 | 巨乳美女被爆操 | 久久久久网 | 麻豆tv在线| 前任攻略在线观看免费完整版 | 国产电影一区二区三区 | 欧美亚洲在线观看 | 奇米影视久久 | 奇米影视一区二区三区 | 九色视频自拍 | 久久久久久久久久久网 | 日本理论片午伦夜理片在线观看 | 黄色激情四射 | 99热精品在线播放 | 日韩精品成人一区 | 女性裸体下面张开 | 久久国产网站 | 激情拍拍 | 精品亚洲成人 | 日韩av不卡一区 | 亚洲av区无码字幕中文色 | 国产精品一区二区久久 | 九九av在线 | 久久久久久av无码免费网站下载 | 亚洲色偷精品一区二区三区 | 丰满人妻老熟妇伦人精品 | 日韩欧美国产一区二区三区在线观看 | 国产福利资源在线 | 岛国av中文字幕 | 福利网站在线观看 | 久久久欧美精品 | 国产寡妇色xxⅹ交肉视频 | www成年人 | 99精品网站 | 狠狠爱综合 | 国产丝袜在线播放 | 日韩精品大片 | 久久久精品久久久 | 久久黄色精品视频 | 一区二区激情视频 | 成年人精品 | 精品播放 | 91视频区| 日韩欧美精品 | 亚洲成年人在线 | 中字幕一区二区三区乱码 | 日本xxx在线播放 | 久久亚洲av无码西西人体 | 免费视频91| 姑娘第5集高清在线观看 | 国产黄频在线观看 | 久久久久成人精品免费播放动漫 | 日韩性大片 | 亚洲AV成人无码精品久久盆瓶 | www.四虎com| 超碰在线98 | 干干干操操操 | 熟女自拍一区 | 91打屁股| 国产亚洲精品熟女国产成人 | 波多野结衣在线观看一区 | 日本亚洲色大成网站www久久 | 国产精品无码免费在线观看 | 亚洲精品99999 | 香蕉视频成人在线观看 | 国产精品99久久久久久大便 | 四虎视频国产精品免费入口 | 少妇不卡视频 | av直接看| 色视频网|