• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、页面的跳转

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

  函数跳转:

  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\'))
    },
})

 


  

  

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序的五种跳转方式发布时间:2022-07-18
下一篇:
微信小程序页面三种跳转方式发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap