最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mpvue 頁面預(yù)加載新增preLoad生命周期的兩種方式

 更新時間:2019年10月17日 10:25:58   作者:changYao  
這篇文章主要介紹了mpvue 頁面預(yù)加載新增preLoad生命周期的兩種方式,本文重點給大家講解了第一種方式,需要的朋友可以參考下

存在的必要性:mpvue開發(fā)微信小程序,在頁面跳轉(zhuǎn)到新頁面的過程中會有200ms左右的延遲,這個200ms如果用來請求新頁面的接口,那么跳轉(zhuǎn)到新頁面或許已經(jīng)渲染好了頁面。

就是兩種方式:

1.新頁面跳轉(zhuǎn)之前,就請求新頁面數(shù)據(jù)。

2.跳轉(zhuǎn)到新頁面后,再請求數(shù)據(jù),可能還會有一個loading的狀態(tài)。

第二種方式是正常的的頁面跳轉(zhuǎn),不say了。

這里講解的都是第一種方式:

  從上面結(jié)構(gòu)圖可以看出系統(tǒng)跳轉(zhuǎn)的延時時間可以用來請求新數(shù)據(jù),大大提高了用戶體驗性。

  方案是有了,該怎么實現(xiàn)呢。

  我們知道m(xù)pvue的生命周期有onLoad mounted onShow 等。

  我們自建一個preLoad生命周期進(jìn)行頁面預(yù)加載邏輯處理。

  是不是有個疑問,怎么讓程序執(zhí)行我們的這個preLoad生命周期呢?

   講解一下vue的執(zhí)行機制:

 

    mpvue創(chuàng)建每個頁面都會有個main.js文件,執(zhí)行了app = new Vue(app);在項目初始化時,都會先被執(zhí)行,push到一個數(shù)組里,這就是小程序頁面堆棧的原理了。

     原先的頁面跳轉(zhuǎn),會執(zhí)行這個App中的生命周期函數(shù)。找到一點靈感有沒有,我們可以在初始化時,對這個 App from './index' 的App對象進(jìn)行全局儲存。在跳轉(zhuǎn)時同時對執(zhí)行App中preLoad函數(shù)進(jìn)行調(diào)用,而小程序正常執(zhí)行App生命周期,

     當(dāng)preLoad執(zhí)行完后把數(shù)據(jù)傳給App return 中的這個對象,就實現(xiàn)了渲染更新。

export default{
 data(){
 return {} //把數(shù)據(jù)傳到這個對象上
 }  
} 

  上代碼:

  兩個頁面,展示從joy-material 跳轉(zhuǎn)到home的過程

  global.js  

let $navs = { //作用收集每個頁面的實例App;
};

let $router =(path,className)=>{ //每個頁面實例都會有個name字段,進(jìn)行$navs匹配

setTimeout(()=>{
 wx.navigateTo({
  url:path
 });
 },150);

$navs[className].preLoad(); //匹配到新頁面的實例,調(diào)用preLoad函數(shù),不影響正常跳轉(zhuǎn)。
 
};
export default {
 $navs:$navs,
 $router:$router
};

  joy-material index.vue

<template>
 <div class="joy-content">
 <h4 class="normal-style" hover-stay-time="100" @tap="to">{{name}}</h4>
 </div>
</template>
<script>
 import pre from "@/utils/global"
 let m = {
 name:"material",
 data(){
  return {
  name:"大蘋果"
  }
 },
 mounted(){
 },
 methods :{
  to(){
  pre.$router("/pages/home/main","home"); //第二個參數(shù)是這個新頁面name字段值,用來從$navs從匹配此實例。
  }
 }
 };
 pre.$navs[m.name] = m; //把實例存儲到全局$navs中;
 export default m;
</script>
<style scoped lang="scss">
</style>

  home index.vue

<template>
 <div>{{info}}</div>
</template>
<script>
 import pre from "@/utils/global"
 let data = {
 info:"1111"
 }
 let h = {
 name:"home",
 data(){
  return data;
 },
 mounted(){
 },
 preLoad(){
  data.info = "pppppp";
 }
 };
 pre.$navs[h.name] = h;
 export default h;
</script>
<style scoped>
</style>

總結(jié)

以上所述是小編給大家介紹的mpvue 頁面預(yù)加載新增preLoad生命周期的兩種方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • JavaScript手寫源碼之實現(xiàn)arrify轉(zhuǎn)數(shù)組

    JavaScript手寫源碼之實現(xiàn)arrify轉(zhuǎn)數(shù)組

    這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript實現(xiàn)arrify轉(zhuǎn)數(shù)組,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)JavaScript有一點的幫助,需要的可以參考一下
    2023-02-02
  • JavaScript實時監(jiān)聽localStorage變化的實現(xiàn)方法小結(jié)

    JavaScript實時監(jiān)聽localStorage變化的實現(xiàn)方法小結(jié)

    很多時候,我們在A頁面通過點擊之類的操作獲得一個數(shù)值,然后拿到B頁面使用,我們希望這個值是響應(yīng)式的,當(dāng)然你可以使用vue或者react的實現(xiàn),這篇文章適合想偷懶或者很多后端小伙不愿意去用的使用,效果是差不多的主要是適用于任何基于JavaScript的項目,需要的朋友可以參考下
    2024-06-06
  • 使用layui實現(xiàn)樹形結(jié)構(gòu)的方法

    使用layui實現(xiàn)樹形結(jié)構(gòu)的方法

    今天小編就為大家分享一篇使用layui實現(xiàn)樹形結(jié)構(gòu)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 使用微信內(nèi)嵌H5網(wǎng)頁解決JS倒計時失效問題

    使用微信內(nèi)嵌H5網(wǎng)頁解決JS倒計時失效問題

    最近參考項目開發(fā),遇到這樣一個需求將H5商城頁面嵌套到公司微信公眾號里,在開發(fā)遇到一個棘手的問題,js倒計時失效問題,怎么回事呢?下面說下我使用微信內(nèi)嵌h5解決的這一問題,需要的朋友參考下吧
    2017-01-01
  • JS圖像無縫滾動腳本非常好用

    JS圖像無縫滾動腳本非常好用

    最好用的JS圖像無縫滾動腳本,根據(jù)需要改改寬度和圖像個數(shù)就可以了,需要的朋友可以參考下
    2014-02-02
  • 微信小程序上線發(fā)布具體流程簡析

    微信小程序上線發(fā)布具體流程簡析

    眾所周知,微信小程序制作成功后,是需要提交到微信公眾平臺去審核的,審核通過后,才可以發(fā)布上線的,上線了之后才可以進(jìn)行運營的,下面這篇文章主要給大家介紹了關(guān)于微信小程序上線發(fā)布具體流程的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • js實現(xiàn)點擊切換和自動播放的輪播圖

    js實現(xiàn)點擊切換和自動播放的輪播圖

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)點擊切換和自動播放的輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Base64編碼加密JS代碼網(wǎng)頁版

    Base64編碼加密JS代碼網(wǎng)頁版

    Base64編碼加密JS代碼網(wǎng)頁版,在文本框中輸入任意字符串,即可將該字符串按Base64編碼進(jìn)行加密,也可將任意Base64編碼的字符解密顯示正常值
    2013-03-03
  • iscroll碰到Select無法選擇下拉刷新的解決辦法

    iscroll碰到Select無法選擇下拉刷新的解決辦法

    本文主要介紹iscroll插件在使用中,遇到select下拉框無法下拉刷新的處理方法,希望能幫到大家。
    2016-05-05
  • layui 表格操作列按鈕動態(tài)顯示的實現(xiàn)方法

    layui 表格操作列按鈕動態(tài)顯示的實現(xiàn)方法

    今天小編就為大家分享一篇layui 表格操作列按鈕動態(tài)顯示的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09

最新評論

双牌县| 麻栗坡县| 麟游县| 临颍县| 汉寿县| 博爱县| 绩溪县| 南城县| 来凤县| 永春县| 隆德县| 盱眙县| 噶尔县| 宝丰县| 平和县| 水富县| 吉隆县| 扎囊县| 余庆县| 黎川县| 德化县| 彰武县| 丘北县| 库尔勒市| 灌南县| 来宾市| 镇巴县| 南漳县| 田东县| 阳朔县| 巴林左旗| 奇台县| 正宁县| 南通市| 芦山县| 沙田区| 绥宁县| 昭通市| 新邵县| 阜新| 阜康市|