微信小程序开发系列七:微信小程序的页面跳转
微信小程序开发系列教程
这个系列教程的前六篇文章我们都在单个的视图上操作。现在让我们创建第二个视图,然后实现从第一个视图到第二个视图的跳转。
首先开发第二个视图:
<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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
最新文章
- 继续(3n+1)猜想
- docker理念:不可变基础设施
- java实例--海盗的最优方案
- 使用2个MR计算
- 【学习笔记】【C语言】数组
- SET QUOTED_IDENTIFIER ON
- ASP.NET MVC ajax提交 防止CSRF攻击
- 转:Ubuntu12.04 LTS 使用心得-开机挂载其他分区
- 杭电ACM1408——盐水的故事
- 九度 题目1044:Pre-Post
- MyBatis与Spring设置callSettersOnNulls
- Linux查看显示编辑文本文件
- SNF软件开发机器人-子系统-导出-导入功能-多人合作时这个功能经常用到
- Windows10安装Docker
- spring hibernate实现动态替换表名(分表)
- 电子设备 Kindle如何删除书籍或漫画
- NYOJ-------笨蛋难题四
- UItextInput-Protocol
- [V1-Team] WEDO创意论坛技术规格说明书
- Opencv4.0.0安装包
热门文章
- 安装YCM出现:YouCompleteMe unavailable no module named frozendict或者 YouCompleteMe unavailable no module named future
- javascript之递归得DOM文本
- Code-NFine:变量修改
- Task运行带参数的函数
- C - Woodcutters
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 02. Web Host 的默认配置
- git&#160;基本命令详细解释
- (水题)洛谷 - P1036 - 选数
- 状压dp小结 By cellur925
- LightOJ 1235 - Coin Change (IV) (折半枚举)