美文网首页我爱编程
小程序之页面跳转方式总结

小程序之页面跳转方式总结

作者: 落魂灬 | 来源:发表于2018-04-13 10:37 被阅读580次

一 、基本跳转

1.使用组件<navigator>标签来实现。

特点:点击有按下的效果

<navigator url="../job_detail/job_detail?isShowCompanyDetail=true&iscollect={{item.iscollect}}"> 跳转 </navigator> 

2.给页面布局加监听时间bindtap事件。然后在方法里面。通过wx.navigatorTo来实现跳转。

特点:点击无按下的效果。

gotoPage: function () { 
     wx.navigateTo({ 
         url: '../list/list', 
         success: function (res) { 
                 // success 
         }, 
         fail: function () { 
               // fail 
         }, 
         complete: function () { 
             // complete 
         } 
   }) 
}, 

3.通过wx.redirectTo实现跳转。

特点:关闭当前页面,跳转到应用内某个页面

toList: function (event) { 
     var provinceName = event.currentTarget.id; 
     wx.redirectTo({ 
     url: '../city/city?province='+provinceName, 
     success: function (res) { 
         // success 
     }, 
     fail: function () { 
         // fail 
      }, 
      complete: function () { 
         // complete 
       } 
   }) 
 } 

4.wx.navigateBack方法

关闭当前页面。返回上一页面或多级页面

wx.navigateBack({ 
    delta: 1, // 回退前 delta(默认为1) 页面 
    success: function (res) { 
        // success 
    }, 
    fail: function () { 
      // fail 
    }, 
    complete: function () { 
        // complete 
      } 
 }) 

给上一个页面赋值

var pages = getCurrentPages(); 
var prevPage = pages[pages.length - 2];//上一个页面。 
prevPage.setData({ 
     bank_cn: bank_cn, 
     bank: bank 
}) 

重点:
tabBar里一般就是四个主页面,这些主页面之间的跳转就像tab切换,这几个页面需要在tabBar里另外配置,普通页面向这四个主页面跳转的时候,不能使用navigator,需用switchTab

实例:从首页跳到tabBar页,并且要带上参数.首先我是这样做的:

在index.js中:

toCategory:function(event){
    var cate_id = event.currentTarget.dataset.cate_id;
    wx.switchTab({
      url: '../category/category?cate_id='+cate_id,
    });
  }, 

按照上面写的在category.js里得不到数据;

onLoad:function(options){

console.log(options);

}

然后查看了下官方文档.

wx.switchTab(OBJECT)

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

OBJECT 参数说明:

参数 类型 必填 说明
url String 需要跳转的 tabBar 页面的路径(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

可以看到url路径后不能带参数.这下就尴尬了.因为我必须要带一个参数过去才能满足业务的需求;走了一个捷径.思路:跳转的时候在全局变量里设置一个变量cate_id,调到category.js中后.调取全局变量里的cate_id,用完后,再把扎个变量清除掉.具体实施如下:

首页index.js中:

toCategory:function(event){
    var cate_id = event.currentTarget.dataset.cate_id;
    app.globalData.cate_id=cate_id;//设置全局变量(app已经定义 var app=getApp())
    wx.switchTab({
      url: '../category/category'
    });
  }, 

分类页category.js中:

onLoad:function(options){
    var that = this
    var cate_id=app.globalData.cate_id
    wx.request({
      url: app.globalData.httpsurl +'public/index.php?s=product/index',
      data:{
        cate_id:cate_id,
      },
      success:function(res){
        //清除全局变量cate_id
        app.globalData.cate_id=""
        that.setData({
          alldata:res.data,
        })
      }
    })
  }, 

上面的转化就可以完成业务逻辑的需要了.

相关文章

  • 小程序之页面跳转方式总结

    一 、基本跳转 1.使用组件标签来实现。 特点:点击有按下的效果 2.给页面布局加监听时间b...

  • 跳转页面

    小程序5种跳转页面方式的区别:

  • 2019-05-04

    小程序之页面跳转 非tabBar页面跳转到tabBar页面必须用wx.switchTab,不能用其他的API ...

  • 微信小程序页面跳转

    小程序常用两种方式,普通页面跳转和tab栏切换(跳转) 跳转方式一 通过组件navigator进行跳转,需要指定跳...

  • 微信小程序的周期解析

    微信小程序中的路由跳转方式(传参)通过navigateTo({})来进行页面的跳转 注意:保留当前页面,跳转到应用...

  • 微信小程序的跳转方式

    微信小程序有5种跳转方式 switchTab这种跳转只能跳转到 tabBar 配置的页面 navigateBack...

  • 小程序开发知识总结

    常识性问题 小程序规定最终上传的包大小 –> 1M 小程序push方式跳转最多能跳转几个页面 -> 5个 小...

  • 小程序(二)——跳转

    小程序跳转的几种方式: wx.navigateTo({}) ,保留当前页面,跳转到应用内的某个页面,使用 wx.n...

  • 小程序开发(入门)

    小程序开发总结 入门级别的小程序,主要是熟悉小程序的开发。 较常用的 就是 页面跳转navigat...

  • 微信小程序二

    一、小程序全局生命周期钩子: 二、 页面生命周期钩子 三、页面跳转 标签方式:通过navigator跳转 相当于...

网友评论

    本文标题:小程序之页面跳转方式总结

    本文链接:https://www.haomeiwen.com/subject/mtfckftx.html