一、页面的跳转

  微信小程序的页面跳转函数方法有两个,另外还有两种模块跳转方式。

  函数跳转:

  1.wx.navigateTo(OBJECT):

wx.navigateTo({url: 'test?id=1'})//保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
//问号后面的参数为传递至指定页面onload方法内的参数。id为自定义参数名,在跳转页面获取参数值时,也是通过这个设置的参数来获取的。

  2.wx.redirectTo(OBJECT):

       wx.redirectTo({url: 'test?id=1'})//销毁当前页面,跳转到应用内的某个页面。
//问号后面的参数为传递至指定页面onload方法内的参数。id为自定义参数名,在跳转页面获取参数值时,也是通过这个设置的参数来获取的。

  模块跳转:

  1.标签跳转:

  在wxml中添加一个navigator元素,实现跳转。

<navigator url='../list/list'>点击我</navigator>

  2.tabBar跳转:

  在主页中设置tabBar,在tabBar中设置跳转页面。通过点击其中的图标,实现跳转。

{"tabBar": {"list": [{"pagePath": "index","text": "首页"},{"pagePath": "other","text": "其他"}]}}

  通过wx.switchTab(OBJECT)方法,可以从非tabBar跳转至tabBar页面,并关闭所有其他非tabBar页面。

wx.switchTab({url: '/index'})

  

  页面的返回:

关闭当前页面,返回上一页面或多级页面。可通过getCurrentPages()获取当前的页面栈,决定需要返回几层。

OBJECT 参数说明:

参数 类型 默认值 说明
delta Number 1 返回的页面数,如果 delta 大于现有页面数,则返回到首页。
// 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而 redirectTo 方法则不会。见下方示例代码// 此处是A页面
          wx.navigateTo({url: 'B?id=1'})// 此处是B页面
          wx.navigateTo({url: 'C?id=1'})// 在C页面内 navigateBack,将返回A页面
             wx.navigateBack({delta: 2})

二、逻辑层的模块化:

  调用全局函数getApp()可以获取小程序的全局应用实例,如果需要全局有效的数据我们可以再App()中定义。

//app.js
App({myNumber:1,
})
//logs.js
onLoad: function () {
var app = getApp()
app.myNumber++
}
//list.js
onLoad: function (options) {console.log("我的数据是:",getApp().myNumber);},

  为了提高代码的可读性和效率,可以通过小程序的模块化特性,将公用的或者需要重复复用的代码从程序里抽取出来,打包成单独的.js文件(微信小程序在创建之初就有一个utils/utils.js文件作为js模块,里面暴露了一个获取当前时间的方法),提供某种特定的功能,这就是程序的模块。如果你想要在外部使用utils.js中封装的方法,只能通过module.exports和exports方法对外暴露接口。

module.exports = {formatTime: formatTime,'对外方法名':'本地方法名'
}

  如何在需要使用这些模块的文件中使用:使用 require(path) 将公共代码引入(require 暂时不支持绝对路径)。

//util.js
function sayHello(name) {console.log(`Hello ${name} !`)
}
module.exports = {sayHello: sayHello
}

var util= require('../../utils/util.js')
Page({data:[],onLoad: function() {console.log(util.sayHello('Cc'))},
})

  

  

转载于:https://www.cnblogs.com/moxuexiaotong/p/10241909.html

微信小程序页面跳转、逻辑层模块化相关推荐

  1. h5跳转小程序页面url_微信小程序页面跳转方法

    我所知道的,微信小程序页面跳转有以下方法,下面分情况说明下 一.利用小程序提供的 API 跳转: 1.简单page页面之间跳转 // 保留当前页面,跳转到应用内的某个页面,使用wx.navigateB ...

  2. 微信小程序页面跳转方法总结

    微信小程序页面跳转目前有以下方法(不全面的欢迎补充): 1. 利用小程序提供的 API 跳转: // 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. // ...

  3. php 微信公众号跳转小程序,微信小程序页面跳转功能

    本文主要介绍微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法,结合具体实例形式总结分析了微信小程序页面跳转及列表item项跳转页面的相关操作技巧,需要的朋友可以参考下. 一.效果图 从 ...

  4. 微信小程序点击带id参数跳转_微信小程序页面跳转方法和携带参数详解

    1.页面跳转方式 (1)标签跳转 open-type的属性值对应api里的用法即wx.的用法 1 跳转到新页面 (2)wx.navigateTo 方法跳转 此方法能够从跳转的页面会回到当前页面 1 w ...

  5. 微信小程序页面跳转,url传参参数丢失问题

    微信小程序页面跳转,url传参参数丢失问题 // pages/order/purchase/index.js// 跳转到采购订单详情toPurchaseOrderDetail(e) {// conso ...

  6. 微信小程序页面竖向滚动逻辑

    微信小程序页面竖向滚动逻辑 1.实现下面类似的数组 注:下面这个生成的数组最好是整数,滑动的时候会失去精度的,要不然你永远会差一点,让你崩溃的.而且你永远不知道差在哪里. this.leftScrol ...

  7. 微信小程序页面跳转后定时器如何关闭

    微信小程序页面跳转后定时器如何关闭 1.在页面中定义,定时器形参,并在跳转到其它页面后,在隐藏和未加载中删除定时器 Page({data: {timer:'',//定义定时器形参,为空字符在这里插入代 ...

  8. 微信小程序页面跳转如何传递对象参数

    前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的.包括语音识别.机器翻译等从基础到实战都有,很详细,分享给大家.大家及时保存,说不定啥时候就没了. 微信小程序页面跳转如 ...

  9. uni-app以及微信小程序页面跳转后实现页面自动刷新

    uni-app以及微信小程序页面跳转后实现页面自动刷新 在程序中需要从一个switch TAb页面跳转到另一个switch Tab页面,但是页面跳转之后,发现添转后的页面不会执行onload里面的刷新 ...

  10. 微信小程序页面跳转限制问题

    微信小程序页面跳转,如果使用wx.navigateTo或者navigator标签进行跳转,最多只能跳转10次 (超过10次,在怎么点也不会跳转),这很不利于用户的体验.那么就来解决这个问题(小声比比) ...

最新文章

  1. Vivado 随笔(6) Timing Summary 相关讨论(一)
  2. 洛谷P2766-最长递增子序列问题
  3. Double 与 Float 的值的比較结果
  4. 移动端H5页面高清多屏适配方案
  5. 项目编译失败_Swift源码编译让底层更清晰
  6. 设计一个算法找一条从迷宫入口到出口的最短路径。_我花了一夜用数据结构给女朋友写个H5走迷宫游戏...
  7. AtCoder Beginner Contest 084(AB)
  8. java start打开cmd窗口并停住_浅析Java命令执行
  9. 1.5编程基础之循环控制_16买房子
  10. Lua笔记4 闭包、迭代器
  11. [转载] python基础:面向对象-封装
  12. Java Web文件上传原理分析(不借助开源fileupload上传jar包)
  13. Message no. C6015--No valuation variant found for valuation area xxxx
  14. android so劫持,防劫持SDK
  15. VGG16-keras 优化
  16. 信度和效度经典例子_效度与信度的通俗解释
  17. c语言课程设计作业个人所得税计算,个税计算器2018-C语言编程个人所得税计算公式...
  18. 扭曲丛林服务器未响应,LOL等级最高玩家已246级 狂刷扭曲丛林攒经验
  19. 微信公众号还适合投资和创业吗?
  20. 梯度下降学习率的设定策略

热门文章

  1. 微软项目技术结构思路 ExtJs/JQuery + Asp.net MVC + Wcf service + Entity Framework
  2. 虚拟机照样飞速跑Windows Server2008
  3. js实现html模板继承,理解JavaScript中的原型和继承
  4. 玩游戏4g计算机的内存不足,玩游戏时出现存储空间不足, 无法完成此操作, 到底是何原因?...
  5. 有关输出图形的代码,我觉得好难啊,好蒙啊。
  6. oracle 日志切换太频繁,诊断一次Oracle日志切换频繁的问题
  7. 计算机图形学试题a卷,计算机图形学复习题及答案
  8. cmd如何刷新MySQL数据库_怎样在cmd中用命令操作MySQL数据库 需要技巧
  9. 阿里云centos 7.6安装mysql_阿里云Centos7上安装MySQL教程
  10. 汉仪尚巍手书可以商用吗_【商用车维修】夏天修空调可以撑起全年修车收入的一半,你会了吗?...