亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【小程序】小程序刷新webview小結(jié)

娣辯孩 / 2848人閱讀

摘要:場(chǎng)景在小程序其它頁(yè)面做了操作,數(shù)據(jù)發(fā)生改變,回到頁(yè)面時(shí)需要更新里面的數(shù)據(jù)。由于小程序沒有提供與的實(shí)時(shí)通信能力,因此刷新頁(yè)面是個(gè)可考慮的做法。小結(jié)目前我了解到的情況來(lái)看,確實(shí)沒有一個(gè)簡(jiǎn)單的可以直接無(wú)副作用地刷新小程序。

場(chǎng)景

在小程序其它頁(yè)面做了操作,數(shù)據(jù)發(fā)生改變,回到webview頁(yè)面時(shí)需要更新webview里面的數(shù)據(jù)。由于小程序沒有提供與webview的實(shí)時(shí)通信能力,因此刷新頁(yè)面是個(gè)可考慮的做法。

方法一

最常見的做法,修改一下webview的url,加點(diǎn)query參數(shù)什么的,頁(yè)面就會(huì)更新了。但是這會(huì)增加webview的瀏覽history,導(dǎo)致用戶在后退的時(shí)候,會(huì)在webview內(nèi)退到前一個(gè)頁(yè)面,而不是退到小程序的前一個(gè)頁(yè)面。

方法二

在小程序內(nèi)調(diào)用wx.redirectTo(OBJECT)方法。這里填當(dāng)前頁(yè)面的url。其實(shí)是關(guān)閉當(dāng)前頁(yè)面重新打開,變相達(dá)到刷新webview的目的。但是由于重新打開了小程序頁(yè)面,因此耗時(shí)會(huì)增加一些。并且,用戶會(huì)看到前一個(gè)頁(yè)面閃一下,然后出現(xiàn)新頁(yè)面。

方法三

首先,讓webview做條件渲染:

需要刷新時(shí),先把webviewUrl設(shè)為空,銷毀當(dāng)前webview。然后再把webviewUrl設(shè)為當(dāng)前值。如下:

  refreshWebview: function () {
    let tmpUrl = this.data.webviewUrl;
    this.setData({
      webviewUrl: ""
    });
    setTimeout(() => {
      this.setData({
        webviewUrl: tmpUrl
      })
    }, 100);
  }

這樣便可以在不影響導(dǎo)航欄歷史的情況下刷新頁(yè)面,也可以是跳轉(zhuǎn)url。
這里setData之后,頁(yè)面內(nèi)容的更新應(yīng)該是異步執(zhí)行的,因此我們后一次修改url需要延時(shí)一小段時(shí)間,否則會(huì)出現(xiàn)error。
猜測(cè)setData后頁(yè)面實(shí)際更新應(yīng)該是在下一次的requestAnimationFrame,因此如果頁(yè)面完全不卡頓可能16ms就可以了,保險(xiǎn)起見,我設(shè)了100ms。

小結(jié)

目前我了解到的情況來(lái)看,確實(shí)沒有一個(gè)簡(jiǎn)單的API可以直接無(wú)副作用地刷新小程序webview。方法三是我自己摸索出來(lái)的辦法。但是總覺得這么個(gè)簡(jiǎn)單的問題應(yīng)該有更直接的做法才對(duì),奇怪。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/96641.html

相關(guān)文章

  • 新書推薦 |《PostgreSQL實(shí)戰(zhàn)》出版(提供樣章下載)

    摘要:作者譚峰張文升出版日期年月頁(yè)數(shù)頁(yè)定價(jià)元本書特色中國(guó)開源軟件推進(jìn)聯(lián)盟分會(huì)特聘專家撰寫,國(guó)內(nèi)多位開源數(shù)據(jù)庫(kù)專家鼎力推薦。張文升中國(guó)開源軟件推進(jìn)聯(lián)盟分會(huì)核心成員之一。 很高興《PostgreSQL實(shí)戰(zhàn)》一書終于出版,本書大體上系統(tǒng)總結(jié)了筆者 PostgreSQL DBA 職業(yè)生涯的經(jīng)驗(yàn)總結(jié),本書的另一位作者張文升擁有豐富的PostgreSQL運(yùn)維經(jīng)驗(yàn),目前就職于探探科技任首席PostgreS...

    Martin91 評(píng)論0 收藏0
  • 程序員自制游戲:超級(jí)瑪麗100%真實(shí)版,能把你玩哭了~【附源碼】

    摘要:模塊安裝統(tǒng)一用的豆瓣鏡像源模塊名。圖片素材背景音樂字體可修改開始敲代碼運(yùn)行程序。超級(jí)瑪麗源碼基地配置音樂文字等。 導(dǎo)語(yǔ)? 哈嘍!哈嘍!我是木木子?,今日游戲更新——超級(jí)瑪麗華麗上線?啦! 超級(jí)瑪麗有多少人還記得這款經(jīng)典游戲?對(duì)于90、00后應(yīng)該不大熟悉,但多多少少印象中見過 那個(gè)戴帽子的大胡...

    Salamander 評(píng)論0 收藏0
  • 【Node Hero】5. Node.js 數(shù)據(jù)庫(kù)教程

    摘要:是一種設(shè)計(jì)用于關(guān)系型數(shù)據(jù)庫(kù)的查詢語(yǔ)言。另一方面,數(shù)據(jù)庫(kù)在最近十年變得相當(dāng)流行。大多數(shù)數(shù)據(jù)庫(kù)都有驅(qū)動(dòng)程序可以用,它們?cè)谏弦灿袔?kù)。我們已經(jīng)完成了在中使用數(shù)據(jù)庫(kù)所必須知道的所有基礎(chǔ)知識(shí)。 本文轉(zhuǎn)載自:眾成翻譯譯者:網(wǎng)絡(luò)埋伏紀(jì)事鏈接:http://www.zcfy.cc/article/1751原文:https://blog.risingstack.com/node-js-database-t...

    Hujiawei 評(píng)論0 收藏0
  • 物聯(lián)網(wǎng)-thingsboard源碼編譯安裝踩坑記錄

    摘要:文章目錄前言從上下源碼后運(yùn)行報(bào)錯(cuò)不支援驗(yàn)證類型。解決辦法就是去找到下載,注意選擇源碼版本下載,如下圖。入門教程本地環(huán)境搭建和源碼編譯安裝,獻(xiàn)給編譯失敗的同學(xué),教程不斷優(yōu)化附錄 ...

    用戶84 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<