欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

uniapp中uni.navigateBack返回后刷新頁(yè)面數(shù)據(jù)的實(shí)現(xiàn)

 更新時(shí)間:2023年11月29日 09:13:47   作者:老馬甲  
本文主要介紹了uniapp中uni.navigateBack返回后刷新頁(yè)面數(shù)據(jù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、前言

在移動(dòng)端中,數(shù)據(jù)列表中某項(xiàng)數(shù)據(jù)點(diǎn)擊編輯,進(jìn)入下一個(gè)頁(yè)面編輯數(shù)據(jù),保存后回退到數(shù)據(jù)列表頁(yè),此時(shí)需要刷新列表數(shù)據(jù),否則顯示的列表數(shù)據(jù)還是舊的。這種場(chǎng)景感覺(jué)很多地方都有出現(xiàn),是需要詳細(xì)說(shuō)說(shuō)方法,也就是uniappuni.navigateBack返回后刷新頁(yè)面數(shù)據(jù)。

1.1、uni.navigateBack

二、方法

2.1、父頁(yè)面設(shè)置鉤子函數(shù)onBackPress

詳細(xì)文檔可點(diǎn)擊【跳轉(zhuǎn)】,適用于刷新多處數(shù)據(jù)

export default {
    onBackPress(options) {
        this.refreshData();
    },
    methods:{
        refreshData: function() {
            //加載數(shù)據(jù)
        }
    }
}

2.2、uni.$emit和uni.$on監(jiān)聽(tīng)通知數(shù)據(jù)變更

2.2.1、子頁(yè)面

子頁(yè)面在需要返回上一頁(yè)面的地方寫入uni.navigateBack,然后在success回調(diào)中uni.$emit發(fā)送數(shù)據(jù)更新通知

uni.navigateBack({
    delta: 1, // 返回層數(shù),2則上上頁(yè)
    success() {
        uni.$emit('update',{msg:'頁(yè)面更新'})
    }
})

2.2.2、父頁(yè)面

父頁(yè)面在初始化時(shí)uni.$on監(jiān)聽(tīng)數(shù)據(jù)更新,在回調(diào)函數(shù)中處理數(shù)據(jù)。在頁(yè)面銷毀時(shí)移除監(jiān)聽(tīng)

export default {
    mounted() {
        uni.$on('update', function(data) {
            //觸發(fā)更新后
        })
    },
    //為了優(yōu)化代碼,可以加上移除事件,避免重復(fù)監(jiān)聽(tīng)事件
    onUnload() {
        // 移除監(jiān)聽(tīng)事件  
        uni.$off('update');
    }
}

2.3、onShow鉤子函數(shù)處理數(shù)據(jù)

2.3.1、子頁(yè)面

準(zhǔn)備回退到上一頁(yè)之前,將上一頁(yè)的是否刷新參數(shù)值改為是的狀態(tài)

let pages = getCurrentPages();
let prevPage = pages[pages.length - 2]; // 上一個(gè)頁(yè)面
// 直接調(diào)用上一個(gè)頁(yè)面的setData()方法,把數(shù)據(jù)存到上一個(gè)頁(yè)面中去
prevPage.setData({
    isRefresh: 1 
})
// 再根據(jù)需求,確定返回上一頁(yè)面
uni.navigateBack({
    delta: 1
})

2.3.2、父頁(yè)面

在onShow鉤子函數(shù)中獲取判斷條件

export default{
	data() {
		return{
    		isRefresh:false
		}
	},
	onShow() {  
		// 如果是提交狀態(tài)返回isRefresh=1,才刷新頁(yè)面,從詳情過(guò)來(lái)無(wú)需刷新
		let pages = getCurrentPages();
		let currPage = pages[pages.length - 1];
		if(currPage.__data__.isRefresh) {
			// 重新獲取數(shù)據(jù)
			this.getData(true)//獲取列表數(shù)據(jù)
			// 每一次需要清除,否則會(huì)參數(shù)會(huì)緩存
        	currPage.__data__.isRefresh=false
		}
	}
}

2.4、注意

如果出現(xiàn)數(shù)據(jù)沒(méi)有更新,可以使用$forceUpdate或者先置空數(shù)據(jù)再賦值數(shù)據(jù),大概率是數(shù)據(jù)沒(méi)有響應(yīng)

最后

到此這篇關(guān)于uniapp中uni.navigateBack返回后刷新頁(yè)面數(shù)據(jù)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)uniapp uni.navigateBack返回刷新內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS設(shè)計(jì)模式之訪問(wèn)者模式的用法詳解

    JS設(shè)計(jì)模式之訪問(wèn)者模式的用法詳解

    JS訪問(wèn)者模式是一種行為型設(shè)計(jì)模式,用于將算法與對(duì)象結(jié)構(gòu)分離, 該模式允許你定義新的操作(訪問(wèn)者)而無(wú)需修改現(xiàn)有對(duì)象結(jié)構(gòu)(被訪問(wèn)者), 通過(guò)這種方式,你可以在不改變對(duì)象結(jié)構(gòu)的情況下添加新的操作,本文就給大家詳細(xì)的講講JS訪問(wèn)者模式的用法
    2023-08-08
  • 微信小程序之間的參數(shù)傳遞、獲取的操作方法

    微信小程序之間的參數(shù)傳遞、獲取的操作方法

    這篇文章主要介紹了微信小程序中如何獲取和傳遞參數(shù),包括獲取當(dāng)前頁(yè)面參數(shù)、單獨(dú)input文本框參數(shù)的獲取、表單獲取參數(shù)信息、點(diǎn)擊表格單元格信息獲取行ID以及前端頁(yè)面跳轉(zhuǎn)傳遞多個(gè)參數(shù)等,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • 跟我學(xué)習(xí)javascript的函數(shù)和函數(shù)表達(dá)式

    跟我學(xué)習(xí)javascript的函數(shù)和函數(shù)表達(dá)式

    跟我學(xué)習(xí)javascript的函數(shù)和函數(shù)表達(dá)式,詳細(xì)介紹了函數(shù)表達(dá)式、命名函數(shù)表達(dá)式的方法,感興趣的小伙伴們可以參考一下
    2015-11-11
  • JavaScript 利用Cookie記錄用戶登錄信息

    JavaScript 利用Cookie記錄用戶登錄信息

    JavaScript與Cookie之利用Cookie記錄用戶登錄信息
    2009-12-12
  • javascript中的取反再取反~~沒(méi)有意義

    javascript中的取反再取反~~沒(méi)有意義

    操作符~, 是按位取反的意思,表面上~~(取反再取反)沒(méi)有意義,下面有個(gè)不錯(cuò)的示例,大家可以參考下
    2014-04-04
  • js閉包實(shí)現(xiàn)按秒計(jì)數(shù)

    js閉包實(shí)現(xiàn)按秒計(jì)數(shù)

    閉包是一個(gè)擁有許多變量和綁定了這些變量的環(huán)境的表達(dá)式(通常是一個(gè)函數(shù)),因而這些變量也是該表達(dá)式的一部分。相信很少有人能直接看懂這句話,因?yàn)樗枋龅奶珜W(xué)術(shù)。其實(shí)這句話通俗的來(lái)說(shuō)就是:JavaScript中所有的function都是一個(gè)閉包。
    2015-04-04
  • 用nodejs訪問(wèn)ActiveX對(duì)象,以操作Access數(shù)據(jù)庫(kù)為例。

    用nodejs訪問(wèn)ActiveX對(duì)象,以操作Access數(shù)據(jù)庫(kù)為例。

    有人提問(wèn)“如果用nodejs訪問(wèn)sql server?” 找了找資料,發(fā)現(xiàn)有兩類解決方法,使用第三方nodejs插件
    2011-12-12
  • JS中跳轉(zhuǎn)傳參的幾種常用方法總結(jié)

    JS中跳轉(zhuǎn)傳參的幾種常用方法總結(jié)

    在前端開(kāi)發(fā)中我們常常需要從一個(gè)跳到另一個(gè)頁(yè)面,并且將當(dāng)前頁(yè)面的數(shù)據(jù)傳遞過(guò)去,下面這篇文章主要給大家總結(jié)介紹了關(guān)于JS中跳轉(zhuǎn)傳參的幾種常用方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • JavaScript文件的同步和異步加載的實(shí)現(xiàn)代碼

    JavaScript文件的同步和異步加載的實(shí)現(xiàn)代碼

    本篇文章主要介紹了JavaScript文件的同步和異步加載的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • js微信掃描二維碼登錄網(wǎng)站技術(shù)原理

    js微信掃描二維碼登錄網(wǎng)站技術(shù)原理

    這篇文章主要介紹了js微信掃描二維碼登錄網(wǎng)站技術(shù)原理,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-12-12

最新評(píng)論