news 2026/10/26 1:54:06

微信小程序学习笔记|案例 3.10 文件引用 include 标签

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微信小程序学习笔记|案例 3.10 文件引用 include 标签

一、案例简介

本案例学习小程序include文件引入语法,把页面拆分成多个独立 wxml 片段(头部标题、正文、页脚、拓展阅读),实现代码复用。
课后扩展需求:增加两个按钮,控制拓展阅读内容的显示与隐藏。

二、项目目录结构

miniprogram ├─ files │ ├─ header.wxml // 文章标题片段 │ ├─ main.wxml // 文章主体内容片段 │ ├─ footer.wxml // 文章页脚日期片段 │ └─ expand.wxml // 拓展阅读片段(作业新增) ├─ pages/index │ ├─ index.js │ ├─ index.json │ ├─ index.wxml │ └─ index.wxss ├─ app.js ├─ app.json └─ app.wxss

三、全部代码

1、files/header.wxml

<!--header.wxml--> <view class="header"> 2026 年重大科技进展 </view>

2、files/main.wxml

<!--main.wxml--> <view class="main"> 天问二号小行星探测(2026.7)、轻舟试验飞船(2026.3.30发射)、地月双向高速激光通信验证(2026.8)、中国空间站常态化运营、九章四号光量子原型机(2026.5)、AI辅助新药靶点发现、多模态大模型向工业落地深化、核光钟研制成功、柔性光子芯片 </view>

3、files/footer.wxml

<!--footer.wxml--> <view class="footer"> 2026年10月17日 </view>

4、files/expand.wxml(作业新增拓展阅读)

<!--expand.wxml 扩展阅读内容--> <view class="box expand-box"> <view class="main">拓展阅读:我国航天后续重大规划</view> <view class="main">1、天问三号火星采样返回任务</view> <view class="main">2、载人登月工程</view> <view class="main">3、大型空间基础设施建设</view> </view>

5、pages/index/index.wxml

<!--index.wxml--> <scroll-view class="scrollarea" scroll-y type="list"> <view class="box"> <include src="/files/header.wxml"></include> <include src="/files/main.wxml"></include> <include src="/files/footer.wxml"></include> </view> <!-- 按钮,点击控制拓展内容显示隐藏 --> <view class="btn-group"> <button bind:tap="showExpand">显示扩展内容</button> <button bind:tap="hideExpand">隐藏扩展内容</button> </view> <!-- wx:if 根据isShowExpand变量控制模块渲染 --> <view wx:if="{{isShowExpand}}"> <include src="/files/expand.wxml"></include> </view> </scroll-view>

6、pages/index/index.js

// index.js Page({ data:{ isShowExpand: false // 默认不展示拓展阅读 }, // 显示扩展内容 showExpand(){ this.setData({ isShowExpand:true }) }, // 隐藏扩展内容 hideExpand(){ this.setData({ isShowExpand:false }) } })

7、pages/index/index.wxss

/**index.wxss**/ page { height: 100vh; display: flex; flex-direction: column; background-color: #ffffff; } .scrollarea { flex: 1; background-color: #ffffff; } .btn-group { display: flex; margin: 20rpx; gap: 20rpx; } button { flex: 1; background-color: #07c160; color: white; }

8、app.wxss(全局样式)

/**app.wxss**/ .box { margin: 20rpx; padding: 20rpx; border: 6rpx solid #F4C2C8; } .header { text-align: center; margin: 20rpx; color: #1E40AF; font-size: 52rpx; font-weight: bold; } .main { font-size: 36rpx; text-indent: 2em; margin: 20rpx; line-height: 2em; text-align: justify; color: #475569; } .footer { margin-right: 30rpx; font-size: 36rpx; text-align: right; color: #475569; }

9、app.json

{ "pages": [ "pages/index/index" ], "window": { "navigationBarBackgroundColor": "#ffffff", "navigationBarTextStyle": "black", "navigationBarTitleText": "文件引用", "backgroundColor": "#ffffff", "backgroundTextStyle": "light" }, "style": "v2", "renderer": "webview", "componentFramework": "glass-easel", "sitemapLocation": "sitemap.json", "lazyCodeLoading": "requiredComponents" }

四、核心知识点

  1. <include src="文件路径">

注意:include 只会拷贝标签,样式需要写在 app.wxss 全局或者当前页面 wxss。

  • 作用:引入外部 wxml 文件,只复制 wxml 标签结构,不会引入 js、wxss;
  • 适用场景:页面片段复用,比如文章头部、页脚,把大页面拆分成多个小文件,方便维护。
  1. wx:if条件渲染
    • 通过布尔变量isShowExpand控制整个模块是否渲染;
    • true:渲染显示;false:直接从页面移除 DOM。
  2. bind:tap点击事件 + setData
    • bind:tap 绑定按钮点击;
    • this.setData()修改 data 中的变量,驱动页面视图自动更新,小程序数据驱动的核心。

五、运行效果

  1. 页面顶部导航栏白底黑字标题:文件引用
  2. 粉色边框容器展示文章标题、正文、右下角日期
  3. 下方两个绿色按钮:【显示扩展内容】、【隐藏扩展内容】
  4. 初始状态拓展阅读不显示;点击显示,拓展内容出现;点击隐藏,拓展内容消失。

六、踩坑记录

  1. iPhone 刘海模拟器顶部出现黑块:是模拟器机型效果,切换为无刘海机型(iPhone SE/iPhone8),导航栏白底正常展示;
  2. 重复标题:区分**原生导航标题(app.json)**和页面内自定义标题,多余页面标题 view 直接删除;
  3. include 路径写错会引入失败,路径开头写/代表项目根目录。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/26 1:52:59

储层表征与建模笔记

储层&#xff1a;能够储集流体并能使其再一定压差下流动的岩石&#xff08;层&#xff09;。特性&#xff1a;孔隙性和渗透性储层表征&#xff08;储层描述&#xff09;&#xff1a;定量研究控制油气开采的储层特征及其非均质性&#xff0c;评价储层空间变化的不确定性。目的&a…

作者头像 李华
网站建设 2026/10/26 1:48:58

dsh-purge 一文讲透:剥掉宿主拦截,考一次模型

dsh-purge 一文讲透&#xff1a;剥掉宿主拦截&#xff0c;考一次模型 【免费下载链接】dsh-purge DeepSeek Harness 破甲&#xff1a;让所有模型都能破甲&#xff0c;不同模型可换不同提示词&#xff1b;默认提示词面向国模「小码酱」。Jailbreak for every model — swap prom…

作者头像 李华
网站建设 2026/10/26 1:48:08

Gale启动选项与自定义参数详解:完全掌控游戏启动方式

桌面应用游戏开发 【免费下载链接】gale A modern mod manager for Thunderstore 项目地址&#xff1a; https://gitcode.com/gh_mirrors/gal/gale 点击查看 免费下载 Gale 是一款基于 Svelte 与 Tauri 构建的现代 Thunderstore 模组管理器&#xff0c;它的启动选项与自定义参…

作者头像 李华
网站建设 2026/10/26 1:47:13

10 分钟搭好 VeighNa 开发环境:vnpy 安装与回测验证全流程

10 分钟搭好 VeighNa 开发环境&#xff1a;vnpy 安装与回测验证全流程 【免费下载链接】vnpy 基于Python的开源量化交易平台开发框架 项目地址: https://gitcode.com/gh_mirrors/vn/vnpy 这是一篇 VeighNa 安装与 vnpy 环境搭建的实操教程&#xff1a;跟着做完&#xff…

作者头像 李华
网站建设 2026/10/26 1:47:08

PM 2811 接 LabVIEW,几个容易踩的坑

Fluke/Philips 的 PM 2811 是一台老电源&#xff0c;在实验室里还常见。这类设备的驱动往往年头不短&#xff0c;接程序时踩的坑也有共性。这篇把常见的几个列出来。01 坑一&#xff1a;以为没有驱动这是最常见的误会。老设备的驱动常常不是"一个 Examples 目录"的形…

作者头像 李华