微信小程序——外部样式类-父组件修改子组件样式

在开发的过程中,我定义了一个公共组件,但在我的设计稿上面,这个公共组件距离内容的margin-bottom是不同的,所以我需要在父组件引用这个组件的时候,在父组件的css中设置他的样式,查阅小程序文档,找到了外部样式,使用方式如下:

子组件定义被外部使用类

子组件wxml:wxml中定义将要被外部使用的class名称  my-class

<view class="activityPrivilege my-class">
  <image class="activityPrivilege-icon" mode="aspectFill" src="../../assets/common/huangguan.png" />
</view>

子组件js:js文件中将这个类定义为外部样式类 
Component({
  externalClasses:['my-class'],    // 注意:我曾经不小心在my-class前面中混入了一个空格,找问题找了好久,希望你不要走我的老路
  ...

将子组件可以注册为全局组件或某个页面专属组件

若想设置为全局组件   app.json
若想设置为某个页面组件  xxx.json

  "usingComponents": {
    "t-activityPrivilege":"/components/ActivityPrivilege/ActivityPrivilege"
  },

父组件中使用子组件的外部样式类

父组件wxml:在父组件wxml中,直接使用这个类名替换class

<t-activityPrivilege my-class="aaa"/>

父组件wxss中,定义新的内容aaa

.aaa{
  margin-bottom: 24px;
  background-color: hotpink;
}

注意:当父组件和子组件对于同一属性进行定义时,子组件样式的优先级较高。

自定义样式名我劝你不要大写

样式优先级:
子组件本身样式 > 外部样式类父组件wxss中样式 > 父组件在子组件上加入的内联样式(用于设置动态)

覆盖的方法暂时还没有尝试出来,欢迎大家指点哦~

总结用法,希望可以帮助到你,
我是Ably,你无须超越谁,只要超越昨天的自己就好~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值