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

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

目录

一、定义点击城市的事件

二、首页的处理


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

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

点击后

城市列表的渲染实现请看另一篇博文:微信小程序按字母顺序渲染城市 功能实现详细讲解-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>
相关推荐
万岳科技系统开发32 分钟前
外卖配送系统开发中的核心模块拆解与技术选型思路
小程序·开源
低代码布道师9 小时前
教培管家第11讲:班级管理——教务系统的“集成枢纽”
低代码·小程序·云开发
数字游民95279 小时前
小程序上新,猜对了么更新110组素材
人工智能·ai·小程序·ai绘画·自媒体·数字游民9527
小小王app小程序开发12 小时前
盲盒随机赏小程序核心玩法拆解与运营逻辑分析
大数据·小程序
说私域12 小时前
AI智能名片链动2+1模式小程序在消费者商家全链路互动中的应用研究
大数据·人工智能·小程序·流量运营·私域运营
不爱学习小趴菜13 小时前
uniapp微信小程序无法屏蔽右上角胶囊按钮(...)问题解决方案
微信小程序·小程序·uni-app
StarChainTech13 小时前
打造火爆的线上推币机APP:一站式合规娱乐解决方案
大数据·人工智能·物联网·小程序·娱乐·软件需求·共享经济
plmm烟酒僧13 小时前
《微信小程序demo开发》第一部分-编写页面逻辑
javascript·微信小程序·小程序·html·微信开发者工具·小程序开发
2501_9160088913 小时前
iOS 开发助手工具,设备信息查看、运行日志、文件管理等方面
android·ios·小程序·https·uni-app·iphone·webview
Stara051114 小时前
微信小程序配置与导航深度指南—全局/页面配置解析与高效传参策略V1.2
javascript·微信小程序·html·模块化开发·页面导航·wxs脚本·小程序api