原生小程序 extendClasses 如何使用

官方文档, 文档其实写的比较清楚了。需要注意的点是,外部样式类是不支持嵌套选择器的。只能一对一的修改。

因为我写 uniapp 多一些,可能是因为习惯遇到了下面的问题。

子组件

js 复制代码
/* 组件 custom-component.js */
Component({
  externalClasses: ["my-class"],
});
html 复制代码
<!-- 页面的 wxml -->
<view class="my-class">
  <view class="item-text">Hello, World!</view>
</view>

父组件

html 复制代码
<custom-component my-class="red-text" />
css 复制代码
/* 页面的 wxss */
.red-text .item-text {
  color: red;
}

这种方式是无效的。因为在 vue 和 uniapp 里面,只要编写了样式穿透组件内部的父盒子选择器,那么父盒子里面的元素我可以随便修改样式。

scss 复制代码
:deep(.parent-class) {
  // 这里可以随便写,只要在父盒子里面就可以自定义组件内部标签的样式
  .child-class {
    color: red;
  }
  .item-text {
    color: red;
  }
}

但是在小程序里面,这种样式是无效的,因为外部样式类不支持嵌套选择器。必须放到你需要修改的标签上。比如下面,修改你的组件文件,把externalClasses: ["my-class"] 修改到你需要修改的标签上, 一对一的修改。就可以了

html 复制代码
<view>
  <!-- 把你的自定义类名一对一的放在标签上 -->
  <view class="my-class">Hello, World!</view>
</view>
相关推荐
毕设源码-钟学长31 分钟前
【开题答辩全过程】以 “旧书驿站”微信小程序的设计与开发为例,包含答辩的问题和答案
微信小程序·小程序
毕设源码-赖学姐18 小时前
【开题答辩全过程】以 “饭否”食材搭配指南小程序的设计与实现为例,包含答辩的问题和答案
小程序
nodcloud19 小时前
点可云进销存商城如何部署在微信小程序
微信小程序·小程序
老华带你飞1 天前
畅阅读小程序|畅阅读系统|基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·畅阅读系统小程序
老华带你飞1 天前
租房平台|租房管理平台小程序系统|基于java的租房系统 设计与实现(源码+数据库+文档)
java·数据库·小程序·vue·论文·毕设·租房系统管理平台
项目題供诗1 天前
微信小程序开发教程(八)
微信小程序·小程序
00后程序员张2 天前
iOS App 混淆与资源保护:iOS配置文件加密、ipa文件安全、代码与多媒体资源防护全流程指南
android·安全·ios·小程序·uni-app·cocoa·iphone
低代码布道师2 天前
少儿舞蹈小程序(12)作品列表查询搭建
低代码·小程序
编程迪2 天前
基于Java+Vue开发的家政服务系统源码适配H5小程序APP
小程序·家政小程序·家政系统源码·家政系统·家政源码
拼图2092 天前
微信小程序——云函数【使用使用注意事项】
微信小程序·小程序