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

uniapp中uni.navigateBack返回后刷新頁面數據的實現(xiàn)

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

一、前言

在移動端中,數據列表中某項數據點擊編輯,進入下一個頁面編輯數據,保存后回退到數據列表頁,此時需要刷新列表數據,否則顯示的列表數據還是舊的。這種場景感覺很多地方都有出現(xiàn),是需要詳細說說方法,也就是uniappuni.navigateBack返回后刷新頁面數據。

1.1、uni.navigateBack

二、方法

2.1、父頁面設置鉤子函數onBackPress

詳細文檔可點擊【跳轉】,適用于刷新多處數據

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

2.2、uni.$emit和uni.$on監(jiān)聽通知數據變更

2.2.1、子頁面

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

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

2.2.2、父頁面

父頁面在初始化時uni.$on監(jiān)聽數據更新,在回調函數中處理數據。在頁面銷毀時移除監(jiān)聽

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

2.3、onShow鉤子函數處理數據

2.3.1、子頁面

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

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

2.3.2、父頁面

在onShow鉤子函數中獲取判斷條件

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

2.4、注意

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

最后

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

相關文章

  • JS設計模式之訪問者模式的用法詳解

    JS設計模式之訪問者模式的用法詳解

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

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

    這篇文章主要介紹了微信小程序中如何獲取和傳遞參數,包括獲取當前頁面參數、單獨input文本框參數的獲取、表單獲取參數信息、點擊表格單元格信息獲取行ID以及前端頁面跳轉傳遞多個參數等,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • 跟我學習javascript的函數和函數表達式

    跟我學習javascript的函數和函數表達式

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

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

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

    javascript中的取反再取反~~沒有意義

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

    js閉包實現(xiàn)按秒計數

    閉包是一個擁有許多變量和綁定了這些變量的環(huán)境的表達式(通常是一個函數),因而這些變量也是該表達式的一部分。相信很少有人能直接看懂這句話,因為他描述的太學術。其實這句話通俗的來說就是:JavaScript中所有的function都是一個閉包。
    2015-04-04
  • 用nodejs訪問ActiveX對象,以操作Access數據庫為例。

    用nodejs訪問ActiveX對象,以操作Access數據庫為例。

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

    JS中跳轉傳參的幾種常用方法總結

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

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

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

    js微信掃描二維碼登錄網站技術原理

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

最新評論