【微信小程序】页面跳转和Template

本文详细介绍了微信小程序中的页面跳转方法,包括tabBar跳转、navigator标签、wx.navigateTo、wx.redirectTo、wx.switchTab等,以及页面跳转时如何传递参数和轮播图事件委托。同时,讲解了json配置文件的全局与局部配置,Swiper组件的使用,Template模块的定义、使用和作用域,以及列表渲染的技巧,包括数据暴露、列表渲染和wx:key的使用。最后,讨论了detail详情页的商品数据和页面隐藏属性。
摘要由CSDN通过智能技术生成

1. 页面跳转

1.1 tabBar跳转

在 app.json 中

"tabBar": {
   
    "color": "#b7b7b7",
    "selectedColor": "#333333",
    "borderStyle": "black",
    "backgroundColor": "#ff0",
    "list": [
      {
   
        "pagePath": "pages/index/index",
        "iconPath": "image/12.png",
        "selectedIconPath": "image/11.png",
        "text": "主页"
      },
      {
   
        "pagePath": "pages/category/category",
        "iconPath": "image/22.png",
        "selectedIconPath": "image/21.png",
        "text": "分类"
      },
      {
   
        "pagePath": "pages/cart/cart",
        "iconPath": "image/32.png",
        "selectedIconPath": "image/31.png",
        "text": "购物车"
      },
      {
   
        "pagePath": "pages/user/user",
        "iconPath": "image/42.png",
        "selectedIconPath": "image/41.png",
        "text": "我的"
      }
    ]
  },

1.2 navigator 标签

在 html 页面

<view class="my-item">
   <navigator url="/pages/address/address">地址管理</navigator>
</view>
<view class="my-item">
   <navigator url="/pages/user/mytest/mytest">我的测试</navigator>
</view>
<view class="my-item">
   <navigator url="/pages/user/ontest/ontest">事件测试</navigator>
</view>
<view class="my-item">
   <navigator url="/pages/user/logintest/logintest">登录测试</navigator>
</view>

1.3 wx.navigateTo(Object object)

仙人指路

保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。

在 js 中

防止 this 的指针改变,可以使用 箭头函数 =>

onShow: function () {
   
  let that = this;
  let userInfo = wx.getStorageSync('userInfo');
  if (!userInfo) {
   
	  wx.navigateTo({
   
	 	  url: "/pages/authorize/authorize"
    })
  } else {
   
	  that.setData({
   
		  thumb: userInfo.avatarUrl,
		  nickname: userInfo.nickName
	  })
  }
},

1.4 wx.redirectTo(Object object)

仙人指路

关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。

示例代码

wx.redirectTo({
   
  url: 'test?id=1'
})

1.5 wx.switchTab(Object object)

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

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

1.6 页面跳转时,传参数

let index = 1;
wx.navigateTo({
   
    url: "/pages/authorize/authorize?index=" + index;
})

/pages/authorize/authorize.js

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
   
    console.log(options)
  },
/**
会打印:{index: "1"}
*/

1.7 轮播图跳转,事件委托

currentTarget 与 target 的区别
currentTarget :触发事件的元素
target:当前的元素

<!-- 轮播图 -->
<swiper 
	class="swiper" 
    catchtap="carouselToDetail"
	indicator-dots="{
    {indicatorDots}}" 
	autoplay="{
    {autoplay}}" 
	interval="{
    {interval}}" 
	duration="{
    {duration}}" 
	circular="{
    {circular}}">
       <block wx:for="{
    {imgUrls}}" wx:key="url">
           <swiper-item>
               <image data-id="{
    {item.xxxid}}" src="{
    {item.url}}"/>
           </swiper-item>
       </block>
</swiper>
//点击轮播图
carouselToDetail: function(event){
   
	console.log(event);
}
//xxxid 的数据 在 target 中

2. json 配置文件

2.1 全局配置app.json

{
   
  "pages": [
    "pages/index/index",
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值