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

微信小程序開發系列教程

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

微信小程序開發系列二:微信小程序的視圖設計html

微信小程序開發系列三:微信小程序的調試方法java

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

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

微信小程序開發系列六:微信框架API的調用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.js

const 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的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼:

相關文章
相關標籤/搜索