亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Uni-app返回上一頁面并攜帶參數(shù)的實現(xiàn)方法

 更新時間:2023年06月09日 10:41:31   作者:Wjhsmart  
這篇文章主要介紹了Uni-app返回上一頁面并攜帶參數(shù)的實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、前言

        需要實現(xiàn)這么一個需求:在一個列表頁面,當子頁面直接返回時,不刷新列表頁面。但是當子頁面的數(shù)據(jù)有變動時,需要刷新列表頁面。本篇博客記錄一下我是如何解決這個問題的。

        解決思路:在onShow()方法內(nèi)監(jiān)聽返回數(shù)據(jù),當是需要當前頁面刷新時,在子頁面設(shè)置一個標識符,當監(jiān)聽到這個標識符,就調(diào)用接口刷新數(shù)據(jù)。

        在使用過程中遇到了些小坑,小白建議看完全部的內(nèi)容再選適合自己的方法解決,不要盲目copy代碼。

二、實現(xiàn)方法

1、第一個頁面 one.vue ,在onShow()方法內(nèi)監(jiān)聽返回的參數(shù),返回的參數(shù)在上一級頁面定義的變量叫‘isRefresh’;

<template>
	<view>
		<navigator hover-class="none" url="/pages/two/two">跳到第二個頁面</navigator>
	</view>
</template>
<script>
	export default {
		data() {
			return {
			}
		},
		onShow() {
			let that = this
			uni.$on('isRefresh',function(data){
				console.log('監(jiān)聽到事件來自返回的參數(shù):' + data);
                // TODO 下面執(zhí)行刷新的方法
			})
		},
		methods: {
		}
	}
</script>
<style>
</style>

2、第二個頁面 two.vue,返回one.vue頁面,要傳遞的參數(shù)是index:1

<template>
	<view>
		<button @click="goBack">點擊返回上一頁</button>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				index:1,//返回上一頁要穿的參數(shù)
			}
		},
		methods: {
			goBack() {
				uni.$emit('isRefresh', this.index)
				uni.navigateBack({
					delta: 1
				})
			}
		}
	}
</script>
<style>
</style>

三、遇到的坑

        當?shù)谝淮畏祷亓斜眄撁鏁r,沒有問題。第二次返回時,會監(jiān)聽兩次,第三次會監(jiān)聽三次,依次類推。查詢uni.$emit相關(guān)資料后發(fā)現(xiàn),這個是個全局的通訊事件。自 HBuilderX 2.0.0 起支持 uni.$emit、 uni.$on 、 uni.$once 、uni.$off ,可以方便的進行頁面的通訊 ,觸發(fā)的事件都是 App 全局級別的,跨任意組件,頁面,nvue,vue 等。事件詳情

        調(diào)用事件后要記得移除事件,或者直接使用 uni.$once 只調(diào)用一次,用完會自動移除事件。

四、事件詳解

含義

1.uni.$emit(eventName,OBJECT):監(jiān)聽全局的自定義事件,事件由uni.emit 觸發(fā),回調(diào)函數(shù)會接收事件觸發(fā)函數(shù)的傳入?yún)?shù)。

其中eventName為事件名,OBJECT為觸發(fā)事件附加參數(shù)
示例代碼如下:

uni.$emit('update',{msg:'頁面更新'})

2.uni.$on(eventName,callback):監(jiān)聽全局自定義事件,事件由uni.$emit()觸發(fā),回調(diào)函數(shù)會接收所有傳入的數(shù)。
eventName為事件名,callback為事件的回調(diào)函數(shù)。
示例代碼如下:

uni.$on('update',function(data){ 
	console.log('監(jiān)聽到事件來自 update ,攜帶參數(shù) msg 為:'  + data.msg); 
})

3.uni.$once:監(jiān)聽全局的自定義事件,事件由uni.emit 觸發(fā),但僅觸發(fā)一次,在第一次觸發(fā)之后移除該監(jiān)聽器。不需要手動移除監(jiān)聽。

4.uni.$off:移除全局自定義事件監(jiān)聽器。

因此,本次案例只需要使用 uni.$once 即可滿足需求,將 uni.$on 改成 uni.$once 

<template>
	<view>
		<navigator hover-class="none" url="/pages/two/two">跳到第二個頁面</navigator>
	</view>
</template>
<script>
	export default {
		data() {
			return {
			}
		},
		onShow() {
			let that = this
			uni.$once('isRefresh',function(data){
				console.log('監(jiān)聽到事件來自返回的參數(shù):' + data);
                // TODO 下面執(zhí)行刷新的方法
			})
		},
		methods: {
		}
	}
</script>
<style>
</style>

Tips

  • 如果uni.$off沒有傳入?yún)?shù),則移除App級別的所有事件監(jiān)聽器;
  • 如果只提供了事件名(eventName),則移除該事件名對應(yīng)的所有監(jiān)聽器;
  • 如果同時提供了事件與回調(diào),則只移除這個事件回調(diào)的監(jiān)聽器;
  • 提供的回調(diào)必須跟$on的回調(diào)為同一個才能移除這個回調(diào)的監(jiān)聽器;

示例:

    <template>
        <view class="content">
            <view class="data">
                <text>{{val}}</text>
            </view>
            <button type="primary" @click="comunicationOff">結(jié)束監(jiān)聽</button>
        </view>
    </template>
    <script>
        export default {
            data() {
                return {
                    val: 0
                }
            },
            onLoad() {
                setInterval(()=>{
                    uni.$emit('add', {
                        data: 2
                    })
                },1000)
                uni.$on('add', this.add)
            },
            methods: {
                comunicationOff() {
                  	// 因傳入了回調(diào)函數(shù),只會移除本頁面此回調(diào)函數(shù)的監(jiān)聽
                    uni.$off('add', this.add)
                },
                add(e) {
                    this.val += e.data
                }
            }
        }
    </script>
    <style>
        .content {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }
        .data {
            text-align: center;
            line-height: 40px;
            margin-top: 40px;
        }
        button {
            width: 200px;
            margin: 20px 0;
        }
    </style>

到此這篇關(guān)于Uni-app返回上一頁面并攜帶參數(shù)的文章就介紹到這了,更多相關(guān)Uni-app返回上一頁攜帶參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 純JS代碼實現(xiàn)一鍵分享功能

    純JS代碼實現(xiàn)一鍵分享功能

    在qq空間,新浪微博,人人網(wǎng)等網(wǎng)絡(luò)平臺大家經(jīng)??梢钥吹揭绘I分享功能,那么基于js代碼是如何實現(xiàn)一鍵分享的呢?下面腳本之家小編給大家介紹js實現(xiàn)一鍵分享功能的代碼,需要的朋友參考下吧
    2016-04-04
  • javascript基于定時器實現(xiàn)進度條功能實例

    javascript基于定時器實現(xiàn)進度條功能實例

    這篇文章主要介紹了javascript基于定時器實現(xiàn)進度條功能,簡單分析了javascript定時器的功能、使用方法并給出了基于定時器實現(xiàn)的進度條功能實例,需要的朋友可以參考下
    2017-10-10
  • 基于JavaScript實現(xiàn)除夕煙花秀與隨機祝福語

    基于JavaScript實現(xiàn)除夕煙花秀與隨機祝福語

    新年即將來臨,本文將為大家介紹一個基于JavaScript實現(xiàn)的頁面特效:煙花秀+春節(jié)隨機祝福語。文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-01-01
  • javascript單張多張圖無縫滾動實例代碼

    javascript單張多張圖無縫滾動實例代碼

    在本篇文章里小編給大家分享的是關(guān)于javascript單張多張圖無縫滾動實例代碼和實例,需要的朋友們可以參考下。
    2020-05-05
  • 在JavaScript中調(diào)用OpenAI?API的詳細步驟

    在JavaScript中調(diào)用OpenAI?API的詳細步驟

    在?JavaScript?中調(diào)用?OpenAI?API?也非常簡單,下面我將結(jié)合具體代碼示例以及使用場景,詳細講解如何使用?JavaScript?調(diào)用?OpenAI?API,需要的朋友可以參考下
    2025-04-04
  • js 封裝cookie操作的函數(shù)代碼

    js 封裝cookie操作的函數(shù)代碼

    這篇文章主要通過js封裝cookie的函數(shù)代碼,想用js實現(xiàn)cookies操作的朋友可以參考下
    2013-06-06
  • JavaScript 阻止超鏈接跳轉(zhuǎn)的操作方法(多種寫法)

    JavaScript 阻止超鏈接跳轉(zhuǎn)的操作方法(多種寫法)

    很多朋友問小編能否通過JavaScript來阻止超鏈接的跳轉(zhuǎn)呢,今天給大家通過多種寫法來實現(xiàn)這一功能,具體實例代碼跟隨小編一起看看吧
    2021-06-06
  • JS彈出窗口代碼大全(詳細整理)

    JS彈出窗口代碼大全(詳細整理)

    如何利用網(wǎng)頁彈出各種形式的窗口,我想大家大多都是知道些的,但那種多種多樣的彈出式窗口是怎么搞出來的,平時利用業(yè)余時間整理了一些,需要的朋友可以參考一下
    2012-12-12
  • js實現(xiàn)模擬銀行卡賬號輸入顯示效果

    js實現(xiàn)模擬銀行卡賬號輸入顯示效果

    這篇文章主要介紹了js實現(xiàn)模擬銀行卡賬號輸入顯示效果,涉及JavaScript正則匹配與字符串操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • localStorage的黑科技-js和css緩存機制

    localStorage的黑科技-js和css緩存機制

    本文主要介紹了localStorage的黑科技-js和css緩存機制的相關(guān)知識,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-02-02

最新評論