微信小程式開發系列七:微信小程式的頁面跳轉

i042416發表於2018-09-09

微信小程式開發系列教程

微信小程式開發系列一:微信小程式的申請和開發環境的搭建

微信小程式開發系列二:微信小程式的檢視設計

微信小程式開發系列三:微信小程式的除錯方法

微信小程式開發系列四:微信小程式之控制器的初始化邏輯

微信小程式開發系列五:微信小程式中如何響應使用者輸入事件

微信小程式開發系列六:微信框架API的呼叫

這個系列教程的前六篇文章我們都在單個的檢視上操作。現在讓我們建立第二個檢視,然後實現從第一個檢視到第二個檢視的跳轉。

首先開發第二個檢視:

微信小程式開發系列七:微信小程式的頁面跳轉

微信小程式開發系列七:微信小程式的頁面跳轉

<view class="container log-list"><block wx:for="{{logs}}" wx:for-item="log"><text class="log-item">{{index + 1}}. {{log}}</text></block></view>

做過Angular開發的朋友們對上面的檢視設計一定不會陌生。這個檢視的資料來源由模型logs提供,是一個列表結果,列表每個元素的資料來源是模型logs裡的一條記錄,用log代表。

為了讓log看起來顯示更整齊,在log內容之前,顯示每條log的索引。因為log的索引從0開始,所以用{{index + 1}}在索引前加一,這樣顯示的索引更符合普通人的閱讀習慣。

微信小程式開發系列七:微信小程式的頁面跳轉

這個檢視的控制器:

//logs.jsconst util = require('../../utils/util.js')
Page({   data: {        logs: []
   },   onLoad: function () {       this.setData({            logs: (wx.getStorageSync('logs') || []).map(log => {                  return util.formatTime(new Date(log))
            })
       })
   }
})

控制器logs.js的實現:

我們可以回憶這個系列裡第四篇文章介紹過控制器的實現邏輯:

微信小程式開發系列四:微信小程式之控制器的初始化邏輯

在控制器裡呼叫Page建構函式,給當前控制器指定名為logs的資料模型。

這個資料模型的值填充,透過微信框架提供的API wx.getStorageSync來獲取。

微信小程式開發系列七:微信小程式的頁面跳轉

wx.getStorageSync的含義在微信小程式官網上有定義:從本地快取中同步獲取指定 key 對應的內容。

https://developers.weixin.qq.com/miniprogram/dev/api/data.html#wxgetstoragesynckey

微信小程式開發系列七:微信小程式的頁面跳轉

第二個檢視的UI和控制器都開發完畢,剩下的事情就是在第一個檢視裡定義一個觸發點,讓它能觸發到第二個檢視的跳轉。

我在第一個檢視上透過屬性bindtap繫結了一個點選函式bindViewTap:

微信小程式開發系列七:微信小程式的頁面跳轉

bindViewTap在第一個控制器index.js裡的實現:

bindViewTap: function() {
   wx.navigateTo({         url: '../logs/logs'
    })
},

跳轉還是透過微信小程式提供的API wx.navigateTo:

保留當前頁面,跳轉到應用內的某個頁面,使用wx.navigateBack可以返回到原頁面。

微信小程式開發系列七:微信小程式的頁面跳轉

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:


微信小程式開發系列七:微信小程式的頁面跳轉

微信小程式開發系列七:微信小程式的頁面跳轉


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2213831/,如需轉載,請註明出處,否則將追究法律責任。

相關文章