溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

區(qū)分router.push跳轉(zhuǎn)快應(yīng)用的來(lái)源渠道的方法教程

發(fā)布時(shí)間:2021-10-12 15:15:08 來(lái)源:億速云 閱讀:154 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“區(qū)分router.push跳轉(zhuǎn)快應(yīng)用的來(lái)源渠道的方法教程”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“區(qū)分router.push跳轉(zhuǎn)快應(yīng)用的來(lái)源渠道的方法教程”吧!

現(xiàn)象描述:

從一個(gè)快應(yīng)用A跳轉(zhuǎn)到B快應(yīng)用的B1頁(yè)面, A可能是一個(gè)快應(yīng)用,也可能是負(fù)一屏的卡片,如何區(qū)分來(lái)自哪個(gè)呢?

解決方法:

快應(yīng)用和卡片都是通過(guò)router.push接口來(lái)跳轉(zhuǎn)其他快應(yīng)用的,使用Deeplink中的hap鏈接來(lái)實(shí)現(xiàn)的,同時(shí)hap鏈接里是可以攜帶參數(shù),在跳過(guò)去時(shí)加個(gè)flag參數(shù),在B快應(yīng)用的B1頁(yè)面獲取參數(shù),根據(jù)參數(shù)值判斷來(lái)源是負(fù)一屏的卡片還是快應(yīng)用A,然后根據(jù)需要做相應(yīng)的邏輯處理??鞈?yīng)用使用this.xx獲取跳轉(zhuǎn)攜帶的參數(shù)。

示例代碼:

A快應(yīng)用代碼:

<template>
    <div>
        <text class="button" onclick="router">測(cè)試</text>
    </div>
</template>
<style>
    .button{
        width: 100%;
        height: 200px;
        color: #000000;
        font-size: 80px;
    }
</style>
<script>
    import router from '@system.router';
    module.exports = {
        data: {
            
        },
        onInit() {
            this.$page.setTitleBar({ text: '' })
        },
        router(){
            console.log("router");
            router.push({
                uri: 'hap://app/com.huawei.ceshi/Test?body=quickapp',//快應(yīng)用參數(shù)
            })
        }
    }
</script>

卡片相關(guān)代碼:

<template>
    <div>
        <text class="button" onclick="router">測(cè)試</text>
    </div>
</template>
<style>
    .button{
        width: 100%;
        height: 200px;
        color: #000000;
        font-size: 80px;
    }
</style>
<script>
    import router from '@system.router';
    module.exports = {
        data: {
            
        },
        onInit() {
            this.$page.setTitleBar({ text: '' })
        },
        router(){
            console.log("router");
            router.push({
                uri: 'hap://app/com.huawei.ceshi/Test?body=card',//卡片參數(shù)
            })
        }
    }
</script>

B快應(yīng)用代碼:

在onInit()生命周期方法中獲取參數(shù)值,如下代碼中定義了accept變量接收參數(shù)值,比如在onBackPress()方法中根據(jù)來(lái)源實(shí)現(xiàn)不同的業(yè)務(wù)邏輯。

<template>
    <div >
        <text class="text">下面是接收的數(shù)據(jù)</text>
        <text class="text" >{{accept}}</text>
    </div>
</template>
<style>
    .text {
        height: 80px;
        font-size: 50px;
        color: red;
        width: 500px;
    }
</style>
<script>
    import router from '@system.router';
    module.exports = {
        data: {
            accept: ""
        },
        onInit() {
            this.$page.setTitleBar({ text: '' })
            this.accept = this.body;
        },
        onBackPress() {
            if (this.accept === "quickapp") {
                console.log("this is quickapp");
            } else if (this.accept === "quickapp") {
                console.log("this is crad");
            }else{
                router.back()
            }
            return true;
        }
    }
</script>

到此,相信大家對(duì)“區(qū)分router.push跳轉(zhuǎn)快應(yīng)用的來(lái)源渠道的方法教程”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI