微信小程序 城市点击后跳转 并首页显示被点击城市

在微信小程序中,渲染出城市列表后,如何点击城市,就跳转回到首页,并在首页显示所点击的城市呢?

目录

一、定义点击城市的事件

二、首页的处理


首页:点击成都市会跳转到城市列表

城市列表:点击某个城市回首页,并展示 被点击城市到首页

点击后

城市列表的渲染实现请看另一篇博文:微信小程序按字母顺序渲染城市 功能实现详细讲解-CSDN博客

一、定义点击城市的事件

1、city.wxml

设置data-city 自定义属性用来存放城市名。

javascript 复制代码
<block wx:for="{{citiesByPre}}" wx:key="pre">
  <view class="title">{{item.title}}</view>
  <view class="cityArea">
    <block wx:for="{{item.cities}}" wx:key="id">
      <text class="item" bindtap="onCityClick" data-city="{{item.city_name}}">{{item.city_name}}</text>
    </block>
  </view>
</block>

2、city.js

javascript 复制代码
  onCityClick: function (e) {
    const cityName = e.currentTarget.dataset.city; // 获取点击的城市名
    wx.navigateBack({
      delta: 1, // 返回上一个页面
      success: function () {
        // 回到首页后,将城市名传递到首页
        const pages = getCurrentPages(); // 获取当前栈中的页面
        console.log("当前", pages); // 打印页面栈,查看页面实例
        const indexPage = pages[pages.length - 1]; // 获取 index 页面实例
        indexPage.setData({
          selectedCity: cityName // 设置返回页面的城市名
        });
      }
    });
  },
  1. dataset获取点击的城市名
  2. wx.navigateBack() 是微信小程序提供的 API,用于返回到上一个页面,success 回调函数会在返回操作完成后执行。
  3. getCurrentPages() 是微信小程序提供的 API,用于获取当前页面栈。它返回一个数组,数组中的每个元素表示当前页面栈中的一个页面实例。
  4. pages[pages.length - 1] 是当前页面(栈顶页,当前正在展示的页面)
  5. setData() 是小程序中的方法,用于更新页面的数据。

**pages**打印出来如下 :

二、首页的处理

1、index.js

javascript 复制代码
Page({
  data: {
    selectedCity: '' // 用来存储选中的城市名
  },
});

2、index.wxml

javascript 复制代码
  <navigator url="/pages/city/city">
    <text>当前城市:{{selectedCity || '成都市'}}</text>
  </navigator>
相关推荐
镭封2 小时前
基于微信小程序的移动端AI配音工作流设计
人工智能·小程序·媒体
FX1317887KP_4 小时前
PET口语备考攻略:发音、语法、表达,三个问题怎么同时解决
小程序·ket口语·pet口语·fce备考·剑桥英语
地球@+jdhb445 小时前
企业私域运营新趋势:快手短视频平台跳转小程序企微卡片链路搭建成为商家运营重点
小程序·企业微信
程序鉴定师5 小时前
2026年深圳小程序/App开发公司技术选型指南:从架构设计到交付标准全维度评估
java·小程序·uni-app·php·objective-c
Q26433650236 小时前
【有源码】基于uni-app的旅游行程规划小程序-基于微信小程序的智慧文旅综合服务平台
java·微信小程序·小程序·uni-app·毕业设计·springboot·源代码
网硕互联的小客服8 小时前
微信小程序多种跳转页面方式教学
微信小程序·小程序·notepad++
m0_587383001 天前
24小时自助健身房软硬件解决方案实战指南:从架构设计到部署实施
java·spring·小程序·架构·需求分析
m0_462803881 天前
会议签到里,手写签名怎样从“额外动作“变成流程环节
微信小程序
m0_587383001 天前
24小时自助健身房软硬件解决方案实战:从架构设计到部署指南
java·spring·小程序·架构·需求分析
CRMEB系统商城1 天前
前后端技术栈全面换代!CRMEB 多商户(Java)v3.0更新预告
java·开发语言·小程序·php