zoukankan      html  css  js  c++  java
  • 页面路由,以及传值

    先祭献文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html

    这次采用先实践在记录的学习方式,因此以代码为主。

    Github地址:https://github.com/caitangbutian/Public-WX-Practice

    本随笔分为六部分:

    1、wx.switchTab    (跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面);

    2wx.reLaunch   (关闭所有页面,打开到应用内的某个页面);

    3wx.redirectTo    (关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面);

    4wx.navigateTo    (保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。);

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

    6EventChannel    (页面间事件通信通道);

     


     1、wx.switchTab    (跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面);

    <view class="black" catchtap="gotoTabBar">
      <view>1、wx.switchTab()</view>
      <view>跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面</view>
    </view>
    gotoTabBar: function(e) {
        console.clear()
        wx.switchTab({
          url: '../logs/logs',
          success:function(res){
            console.log("成功",res)
          },
          fail: function (res) {
            console.error("失败",res)
          },
          complete: function (res) {
            console.log("结果",res)
          }
        })
      }

     


     2、wx.reLaunch   (关闭所有页面,打开到应用内的某个页面);

    <view class="black" catchtap="goReLaunch">
      <view>2、wx.reLaunch()</view>
      <view>关闭所有页面,打开到应用内的某个页面</view>
    </view>
    //2、
      goReLaunch:function(){
        console.clear();
        wx.reLaunch({
          url: '../logs/logs?id=1'
        })
      }

     


     3、wx.redirectTo    (关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面);

    <view class="black" catchtap="goRedirectTo">
      <view>3、wx.redirectTo()</view>
      <view>关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面</view>
    </view>
    //3、
      goRedirectTo:function(){
        console.clear();
        wx.reLaunch({
          url: '../user/user?id=1'
        })
      },

     4、wx.navigateTo    (保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。);

    <view class="black" catchtap="goNavigateTo">
      <view>4、wx.navigateTo()</view>
      <view>保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。
        使用 wx.navigateBack 可以返回到原页面。可以使用events页面间通信接口传值</view> </view>
    //4、
      goNavigateTo:function(){
        console.clear();
        wx.navigateTo({
          url: '../user/user?id=1',
          events: {
            // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
            dataReturn: function (data) {
              console.log("index接收到:",data)
            },
      },
          success: function (res) {
            // 页面打开成功后,通过eventChannel(页面间事件通信通道)的emit(触发一个事件)向被打开页面传送数据(打开通道)
            res.eventChannel.emit('dataGet', { data: '数据给予' })
          }
        })
      },

     


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

    <view class="black" catchtap="goNavigateBack">
      <view>5、wx.navigateBack()</view>
      <view>关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。</view>
    </view>
     //5、
      goNavigateBack: function () {
        console.clear();
        //navigateBack,返回上一页
        wx.navigateBack({
          delta: 2 // 返回的页面数,如果 delta 大于现有页面数,则返回到首页。
        })
      },

     


     6、EventChannel    (页面间事件通信通道);

    方法

    EventChannel.emit(string eventName, any args)

    触发一个事件

    EventChannel.on(string eventName, EventCallback fn)

    持续监听一个事件

    EventChannel.once(string eventName, EventCallback fn)

    监听一个事件一次,触发后失效

    EventChannel.off(string eventName, EventCallback fn)

    取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数

     

     

     

     

     

  • 相关阅读:
    将数据绑定通过图表显现
    d3.js初识
    Josn
    d3-tip.js
    Java知识点总结
    Javascript的学习
    Java的多线程学习
    day11
    day10
    day09
  • 原文地址:https://www.cnblogs.com/caitangbutian/p/11984042.html
Copyright © 2011-2022 走看看