【微信小程式】知識點:頁面導航

来源:https://www.cnblogs.com/PaturNax/archive/2022/09/01/16644943.html
-Advertisement-
Play Games

1 含義 頁面導航就是指頁面之間的一個跳轉 1.1 導航的實現方式 Web網頁端 微信小程式 1.2 聲明式導航 1.2.1 導航到tabBar頁面 使用<navigator>組件跳轉到指定的tabBar頁面 url:以/開頭,標識要跳轉的頁面地址 open-type:必須為switchTab,表示 ...


1 含義

頁面導航就是指頁面之間的一個跳轉

1.1 導航的實現方式

  • Web網頁端

  • 微信小程式

1.2 聲明式導航

1.2.1 導航到tabBar頁面

使用<navigator>組件跳轉到指定的tabBar頁面

  • url:以/開頭,標識要跳轉的頁面地址
  • open-type:必須為switchTab,表示跳轉到tabBar的方式
    XXX.wxml文件
<navigator url="/pages/message/message" open-type="switchTab">導航到消息頁面</navigator>

效果

1.2.2 導航到tabBar頁面

依舊是使用<navigator>組件。

  • open-type:必須為navigate,也可以不寫,預設表示跳轉非tabBar頁面的方式
    XXX.wxml文件
<navigator url="/pages/info/info" open-type="navigate">導航到信息頁面</navigator>

效果

1.2.3 後退導航

使用<navigator>組件

  • open-type:必須為navigateBack,表示要進行後退導航
  • delta:必須為數字,表示要後退的層數,如果只是想返回上一頁的話,這個delta可以省略,預設數字為1
<navigator open-type="navigateBack" delta="1">返回上一頁</navigator>

效果

1.3 編程式導航

1.3.1 跳轉到tabBar頁面例子

home.wxml

<button bindtap="gotoMessage">跳轉到message頁面</button>

home.js

    //通過編程式導航跳轉到tabBar頁面
    gotoMessage(){
        wx.switchTab({
          url: '/pages/message/message',
        })
    },

效果

1.3.2 導航到非tabBar頁面例子

home.wxml

<button bindtap="gotoInfo">跳轉到info頁面</button>

home.js

    gotoInfo(){
        wx.navigateTo({
          url: '/pages/info/info',
        })
    },

效果

1.3.2 後退例子

info.wxml

<button bindtap="gotoBack">後退</button>

info.js

    gotoBack(){
        wx.navigateBack({
          delta: 1,
        })
    },

效果

1.4 導航傳參

<navigator>組件的url屬性可以用來指定要跳轉的頁面路徑,並且可以在該路徑後面攜帶參數,格式如下:

  • 參數與路徑之間使用?分隔
  • 參數鍵與參數值用 = 相連
  • 不同參數用 & 分隔

1.4.1 傳參到信息頁面(聲明式)

點擊微信開發者工具左下角的頁面參數

home.wxml

<navigator url="/pages/info/info?name=zs&age=20">導航並傳參給info頁面</navigator>

測試

1.4.2 傳參到信息頁面(編程式)

home.wxml

<button bindtap="gotoInfo2">跳轉到info頁面</button>

home.js

    gotoInfo2(){
        wx.navigateTo({
          url: '/pages/info/info?name=ls&age=18',
        })
    },

測試

1.4.3 在onLoad中接收導航參數

通過聲明式導航傳參編程式導航傳參所攜帶的參數,可以直接在onLoad事件中直接獲取到
info.js:直接通過options獲取即可

    /**
     * 生命周期函數--監聽頁面載入
     */
    onLoad(options) {
        console.log(options)
    },

測試

1.4.4 參數賦值

info.js

    /**
     * 頁面的初始數據
     */
    data: {
        //導航傳遞過來的空對象
        query:{}
    },

    onLoad(options) {
        console.log(options)
        this.setData({
            query:options
        })
    },

測試

點擊AppData看跳轉傳的參數


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、前言 AVCaptureSession 是 AVFoundation 的核心類,用於管理捕獲對象 AVCaptureInput 的視頻和音頻的輸入,協調捕獲的輸出 AVCaptureOutput。 AVCaptureOutput 的輸出有兩種方法: 一種是直接以 movieFileUrl 方式輸 ...
  • 用戶在瀏覽App的頁面時,如果經常跳出來不喜歡的彈窗廣告不僅損害用戶的瀏覽體驗,也讓用戶對廣告內容產生反感。作為App的營銷人員,線上投放廣告時如何精準捕捉用戶需求,同時不引起用戶的抵觸心理十分重要。當用戶不願意將自己的個人信息,例如年齡、性別、興趣愛好等隱私數據授權給App時,基於用戶正在瀏覽的頁 ...
  • 一、前言 動畫一直是 iOS 開發中很重要的一部分。設計良好,效果炫酷的動畫往往能對用戶體驗的提升起到很大的作用,在這裡將自己學習 iOS 動畫的體會記錄下來,希望能對別人有所幫助。 iOS 的動畫框架,即 CoreAnimation,本身十分龐大和複雜,這裡暫時分兩個部分進行介紹,分別是 UIVi ...
  • == 和 的區別 使用雙等號進行相等判斷時,如果兩邊的類型不一致,則會進行強制類型轉化後再進行比較; 使用三等號進行相等判斷時,如果兩邊的類型不一致時,不會做強制類型準換,直接返回 false; ==的判斷流程 首先判斷兩者類型是否相同,相同的話就比較兩者的大小;類型不相同的話,就會進行類型轉換。 ...
  • 年少不知Vue的好,錯把layui當成寶 不用太在意這句話,只是我的感慨 1.安裝與配置: 在HBuilderX創建Uniapp項目,可以不用啟動uniCloud,Vue的版本隨意選擇即可,常用vue2.x。 根據官方文檔的提示,安裝uview。 點擊紅框中的按鈕打開終端。 執行如下的命令: npm ...
  • 好家伙,本篇介紹敵機 好了,按照慣例我們來理一下思路: 我們有一個敵機類,第一步當然是實例一個敵機對象, 然後我們把這個敵機放入我們的敵機群(敵機數組) 然後是熟悉的移動和繪製 那我們回顧一下子彈的生成邏輯 變數: 子彈 bullet 彈夾(用來裝子彈的東西)bulletList[] 方法:裝填子彈 ...
  • 題目來源於前端面試寶典——選擇題欄 習題 class Counter { // 二、count 屬性被包含在類 Counter 的構造函數與 increment 方法。 constructor() { this.count = 0 } increment() { this.count++ } } / ...
  • 代理模式 1 定義 為其他對象提供一種代理以控制對這個對象的訪問 在某些情況下,一個對象不適合或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用。 2 應用舉例 2.1 緩存代理 現在我們有一個可以查詢城市經緯度的函數: const getLatLng = (addres ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...