百度智能小程序 頁面導航

2020-09-02 10:15 更新

navigator 頁面導航

解釋:頁面鏈接,控制小程序的跳轉,既可在當前小程序內(nèi)部進行跳轉,也可跳轉至其他小程序。navigator 的子節(jié)點背景色應為透明色。

屬性說明

屬性名 類型 默認值 必填 說明 最低版本

target

String

self

在哪個目標上發(fā)生跳轉,默認當前小程序,有效值 self/miniProgram

2.5.2
低版本請做兼容性處理

url

String

應用內(nèi)的跳轉鏈接

-

open-type

String

navigate

跳轉方式

-

delta

Number

當 open-type 為 ‘navigateBack’ 時有效,表示回退的層數(shù)

-

app-id

String

當 target="miniProgram"時有效,要打開的小程序 App Key (小程序后臺設置-開發(fā)設置中)

2.5.2
低版本請做兼容性處理

path

String

當 target="miniProgram"時有效,打開的頁面路徑,如果為空則打開首頁。

2.5.2
低版本請做兼容性處理

extra-data

Object

當 target="miniProgram"時有效,需要傳遞給目標小程序的數(shù)據(jù),目標小程序可在 App.onLaunch(),App.onShow() 中獲取到這份數(shù)據(jù)。詳情

2.5.2
低版本請做兼容性處理

version

String

release

當 target="miniProgram"時有效,要打開的小程序版本,有效值 develop(開發(fā)版),trial(體驗版),release(正式版),僅在當前小程序為開發(fā)版或體驗版時此參數(shù)有效;如果當前小程序是正式版,則打開的小程序必定是正式版。

2.5.2
低版本請做兼容性處理

hover-class

String

navigator-hover

指定點擊時的樣式類,當hover-class="none"時,沒有點擊態(tài)效果。

hover-stop-propagation

Boolean

false

指定是否阻止本節(jié)點的祖先節(jié)點出現(xiàn)點擊態(tài)。

-

hover-start-time

Number

50

按住后多久出現(xiàn)點擊態(tài),單位毫秒。

-

hover-stay-time

Number

600

手指松開后點擊態(tài)保留時間,單位毫秒。

-

bindsuccess

String

當 target="miniProgram"時有效,跳轉小程序成功。

2.5.2
低版本請做兼容性處理

bindfail

String

當 target="miniProgram"時有效,跳轉小程序失敗。

2.5.2
低版本請做兼容性處理

bindcomplete

String

當 target="miniProgram"時有效,跳轉小程序完成。

2.5.2
低版本請做兼容性處理

target 有效值

說明

self

當前小程序

miniProgram

跳轉到另一個小程序

version 有效值

說明

develop

開發(fā)版

trial

體驗版

release

正式版

open-type 有效值

說明 最低版本

navigate

對應 swan.navigateTo 的功能

redirect

對應 swan.redirectTo 的功能

switchTab

對應 swan.switchTab 的功能

navigateBack

對應 swan.navigateBack 的功能

reLaunch

對應 swan.reLaunch 的功能

exit

退出小程序,target="miniProgram"時生效

2.5.2

示例 

在開發(fā)者工具中打開


代碼示例 1

<view class="wrap">
    <view class="card-area">
        <button type="primary">
            <navigator 
                target="self" 
                open-type="navigate" 
                url="/component/detail/detail?id=新頁面,點擊左上角返回回到之前頁面"
                hover-class="navigator-hover" 
                hover-start-time="50"
                hover-stay-time="600"
                hover-stop-propagation="true">
                跳轉到新頁面
            </navigator>
        </button>
        <button type="primary">
            <navigator 
                s-if="{{!isWeb}}" 
                target="self" 
                open-type="redirect" 
                url="/component/detail/detail?id=當前頁,點擊左上角返回回到上級菜單"        
                hover-class="navigator-hover" 
                hover-start-time="50"
                hover-stay-time="600"
                hover-stop-propagation="true">
                在當前頁打開
            </navigator>
        </button>

        <button type="primary">
            <navigator 
                s-if="{{!isWeb}}" 
                target="self" 
                open-type="navigateBack" 
                hover-class="navigator-hover" 
                hover-start-time="50"
                hover-stay-time="600"
                hover-stop-propagation="true"
                delta="1">
                返回上一頁面
            </navigator>
        </button>

        <button type="primary">
            <navigator 
                s-if="{{!isWeb}}" 
                target="miniProgram" 
                open-type="exit">
                退出當前小程序
            </navigator>
        </button>

        <button type="primary">
            <navigator 
                target="self" 
                open-type="switchTab" 
                url="/entry/component/component">
                打開一個有Tab的頁面
            </navigator>
        </button>

        <button type="primary">
            <navigator 
                target="self" 
                open-type="reLaunch" 
                url="/component/detail/detail?id=新頁面,點擊左上角返回回到上級菜單">
                關閉所有頁面打開新頁面
            </navigator>
        </button>

        <button type="primary">
            <navigator 
                target="miniProgram" 
                s-if="{{!isWeb}}" 
                open-type="navigate" 
                extra-data="extra-data" 
                app-id="79RKhZ2BTvyyHitg4W3Xle4kkFgwwXyp" 
                version="release" 
                bindsuccess="successHandler" 
                bindfail="failHandler" 
                bindcomplete="completeHandler">
                打開綁定的小程序
            </navigator>
        </button>
    </view>
</view>
Page({
    data: {},
    successHandler(e) {
        console.log('success', e.detail.errMsg);
    },
    failHandler(e) {
        console.log('fail', e.detail.errMsg);
    },
    completeHandler(e) {
        console.log('complete', e.detail.errMsg);
    }
});

參考示例

參考示例 1: 接收 H5 頁傳過來的參數(shù)

在開發(fā)者工具中打開

  • 在 index 文件中
<view class="wrap">
    <button type="primary">
        <navigator 
            target="self" 
            open-type="navigate" 
            url="/detail/detail?webViewUrl=https://smartprogram.baidu.com&Math.radom()" hover-class="navigator-hover" 
            hover-stop-propagation="true">
            跳轉到新頁面
        </navigator>
    </button>
</view>
  • 在 detail 文件中
    <web-view src="{{url}}"></web-view>
    Page({
        data: {
            src: ''
        },
       //接收H5頁傳過來的參數(shù)
        onLoad(options) {
            this.setData({'src': options.webViewUrl})
        },
        onShow(){
            this.onLoad()
        }
    });
  • 說明
    navigator-hover 默認為:
    {
        background-color: rgba(0, 0, 0, 0.1);
        opacity: 0.7;
    }

常見問題

Q:請問下如何關閉小程序

A: 可以通過組件進行關閉當前小程序的操作。

代碼示例

<button type="primary">
    <navigator target="miniProgram" open-type="exit">退出當前小程序</navigator>
</button>


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號