小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

最近在研究小程序開發,看了一些官網文檔,我們今天就來學習一下如何跳轉,順便把跳轉過程中的參數傳遞,以及接收賦值到模板中顯示學習了。

小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

首先我們創建一個小程序,填寫項目名稱,以及路徑,這裡AppID我用的測試賬號。


小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

我們進入到開發頁面顯示的默認代碼中Pages目錄中只有index和logs,小程序頁面一般都包裹.js文件主要是邏輯層的一些內容,.json文件主要作用是頁面的獨立配置文件,wxml文件主要是我們直觀顯示的頁面相當於html,wxss文件主要是用於頁面的樣式相當於css,不對贅述詳細可以看官方文檔,這裡主要講頁面跳轉以及傳參。


小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

我們首先增加一個新的頁面test,創建的時候,系統會自動在app.json中創建一條路由,還有更簡單的辦法,直接在app.json中添加一條路由,系統就會幫你直接創建相對應的內容,這裡要注意的是,如果刪除頁面,路由是不會自動刪除的,需要手動刪除一下,路由也是一樣。

小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

接下來我們改造一下首頁的內容,index文件夾中的index.wxml,增加跳轉,小程序中是沒有a標籤的,跳轉的標籤是<navigator>,這樣就可以正常跳轉到設置好的頁面了。/<navigator>

小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

除了這種類似於a標籤的跳轉,小程序還集成api按鈕跳轉,只需要在button中設置bindtap參數即可,bindtap這個是小程序的事件綁定,寫法<button>api跳轉/<button>,同樣是在index.wxml中寫,這裡js中事件沒有寫報錯,和回調等。關於跳轉有多種api,根據官方文檔,我們文中使用的是navigateTo會保留當前頁面,跳轉到應用內的某個頁面,另外還有redirectTo是會關閉當前頁面,跳轉到應用內的某個頁面,以及navigateBack關閉當前頁面,返回上一頁面或多級頁面等,具體可以查詢一下官網文檔,或者在文章下方回覆。

小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

接下來我們講怎麼傳遞參數以及接收參數,傳遞很簡單沒什麼可說的,直接上代碼了

小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

接下來我們說一下如何接收傳遞過來的參數,接收過來的數據是放在options中的,我們直接用console.log打印一下。

小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示


我們在onLoad中可以直接打印出來了,onLoad會在創建頁面的時候執行,所以跳轉之後會直接打印出來。

小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

接下來我們講怎麼把傳遞過來的數據顯示出來,需要對js以及wxml文件進行一定的改造,我先改造一下test.wxml

小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

既然要獲取數據就要在js文件中操作,這裡要提到setData, 這個函數用於將數據從邏輯層發送到視圖層(異步),同時改變對應的 this.data 的值(同步),看到網上有說用this.data的,官網文檔特別說明了一下,是不行的,原文在這裡:直接修改 this.data 而不調用 this.setData 是無法改變頁面的狀態的,還會造成數據不一致


小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示

最後上一張效果圖:

小程序開發如何跳轉頁面以及參數的傳遞與視圖層顯示


分享到:


相關文章: