宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產(chǎn)品動態(tài)
精選推薦

從入門到精通:UniApp路由使用技巧全解析!

管理 管理 編輯 刪除

一、概述

在uniapp開發(fā)中,路由是非常重要的一個方面,它可以實現(xiàn)頁面之間的跳轉(zhuǎn)和傳遞參數(shù)。本文將介紹uniapp中路由的使用技巧,并給出具體的代碼示例。

二、uniapp路由的基本使用

在uniapp中,路由的基本使用可以通過uni.navigateTo、uni.redirectTo、uni.reLaunch、uni.switchTab等API來進(jìn)行頁面跳轉(zhuǎn)。這些API的使用場景略有不同,具體使用取決于項目需求。

1.uni.navigateTo:用于打開新頁面,并保留當(dāng)前頁面。適用于普通的頁面跳轉(zhuǎn)。

示例代碼:

uni.navigateTo({
 url: '/pages/detail/detail?id=1'
});

2.uni.redirectTo:用于關(guān)閉當(dāng)前頁面,并打開新頁面。適用于不需要返回上一頁的頁面跳轉(zhuǎn)。

示例代碼:

uni.redirectTo({
 url: '/pages/home/home'
});

3.uni.reLaunch:關(guān)閉所有頁面,打開到應(yīng)用內(nèi)的某個頁面。適用于從其他平臺掃碼進(jìn)入小程序的場景。

示例代碼:

uni.reLaunch({
 url: '/pages/login/login'
});

4.uni.switchTab:跳轉(zhuǎn)到tarBar頁面,并關(guān)閉其他所有非tarBar頁面。適用于底部導(dǎo)航欄頁面之間的跳轉(zhuǎn)。

示例代碼:

uni.switchTab({
 url: '/pages/home/home'
});

三、uniapp路由參數(shù)的傳遞

在uniapp中,可以通過URL參數(shù)的方式來進(jìn)行頁面之間的數(shù)據(jù)傳遞。

1.頁面之間傳遞參數(shù)在頁面A跳轉(zhuǎn)到頁面B時,可以通過URL參數(shù)來傳遞數(shù)據(jù)。在A頁面的跳轉(zhuǎn)代碼中,通過拼接url的方式傳遞參數(shù):

uni.navigateTo({
 url: '/pages/detail/detail?id=' + id
});

2.在B頁面中,可以通過uni.$route.query來獲取參數(shù)值:

onLoad() {
    console.log(this.$route.query.id);
}

頁面返回時傳遞參數(shù)

在uniapp中,可以通過uni.navigateBack方法返回上一個頁面,并通過調(diào)用上一頁頁面的onBack方法傳遞參數(shù)。具體代碼如下:

3.在A頁面中,跳轉(zhuǎn)到B頁面時,傳遞參數(shù),并注冊上一頁頁面的onBack方法:

uni.navigateTo({
 url: '/pages/detail/detail?id=' + id + '&callback=onBack'
});

4.在B頁面中,獲取參數(shù)值,并在頁面返回時調(diào)用上一頁頁面的onBack方法傳遞參數(shù):

methods: {
    goBack() {
        uni.navigateBack({
            delta: 1,
            success: () => {
                uni.getOpenerEventChannel().emit(this.asr_notify);
            }
        });
    }
}

5.在A頁面中,注冊onBack方法并接收參數(shù):

methods: {
    onBack(data) {
        console.log(data);
    }
}

四、uniapp路由攔截與權(quán)限控制

在開發(fā)過程中,有時候需要對某些頁面進(jìn)行權(quán)限控制,以阻止未登錄用戶訪問某些頁面。

在uniapp中,可以通過導(dǎo)航守衛(wèi)來實現(xiàn)路由攔截和權(quán)限控制。具體代碼如下:

1.創(chuàng)建全局路由攔截器,在main.js文件中:

// 全局路由攔截器
router.beforeEach((to, from, next) => {
 const token = uni.getStorageSync('token');
 if (to.meta.requiresAuth && !token) { // 判斷是否需要登錄才能查看頁面
     next('/pages/login/login');
 } else {
     next();
 }
});

2.在需要進(jìn)行權(quán)限控制的頁面配置路由元信息:

export default {
 meta: {
     requiresAuth: true // 需要登錄才能訪問
 }
 // 省略其他代碼...
}

通過以上操作,可以實現(xiàn)對需要登錄才能訪問的頁面進(jìn)行權(quán)限控制,未登錄用戶將被攔截并跳轉(zhuǎn)到登錄頁。

總結(jié):

本文介紹了uniapp中路由的基本使用方法、參數(shù)傳遞方式以及路由攔截與權(quán)限控制。通過合理的使用路由,可以實現(xiàn)頁面之間的跳轉(zhuǎn)和數(shù)據(jù)傳遞,提升應(yīng)用的用戶體驗。

請登錄后查看

CRMEB-慕白寒窗雪 最后編輯于2024-01-02 10:56:00

快捷回復(fù)
回復(fù)
回復(fù)
回復(fù)({{post_count}}) {{!is_user ? '我的回復(fù)' :'全部回復(fù)'}}
排序 默認(rèn)正序 回復(fù)倒序 點贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無簡介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)
查看更多
打賞
已打賞¥{{reward_price}}
3353
{{like_count}}
{{collect_count}}
添加回復(fù) ({{post_count}})

相關(guān)推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見問題 產(chǎn)品動態(tài) 精選推薦 首頁頭條 首頁動態(tài) 首頁推薦
取 消 確 定
回復(fù)
回復(fù)
問題:
問題自動獲取的帖子內(nèi)容,不準(zhǔn)確時需要手動修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當(dāng)前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認(rèn)打賞

微信登錄/注冊

切換手機(jī)號登錄

{{ bind_phone ? '綁定手機(jī)' : '手機(jī)登錄'}}

{{codeText}}
切換微信登錄/注冊
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服