03小程序自定义组件

1.组件化开发步骤

​ 在需要引入组件的页面文件下的json格式中添加component字段 , 值为true`

{
    "component":true,
    "usingComponents":{
      "nav-dfs":"components/hello/hello"
}
}

2.自定义组件的细节

1.组件内不能使用类选择器以外的选择器。

2.自定义的组件标签名最好只是 小写字母中划线、下划线的组合,且命名不能以WX-开头。

3.组件的样式细节

组件内的类样式与组件外的类样式,默认是有一个隔离的效果。(类似沙盒模式)。

3.1 组件内的样式对外部样式的影响

​ (1)组件内的样式默认只在组件内生效,对引用组件的Page页面不生效。

​ (2)组件内不能使用ID选择器,属性选择器,标签选择器。

3.2 外部样式对组件内样式的影响

组件外部只有使用 标签选择器 才会对组件内的样式造成影响,ID选择器和类选择器不会对组件内的样式造成影响。

3.3 如何让组件的class与组件外的class可以互相影响

在Component对象中,可以传入一个options属性,其中options属性中有一个styleIsolation(隔离)属性。 styleIsolation有三个取值:

​ (1)- isolated 表示启用样式隔离,在自定义组件内外,使用 class 指定的样式将不会相互影响(默认取值);

​ (2)- apply-shared 表示页面 wxss 样式将影响到自定义组件,但自定义组件 wxss 中指定的样式不会影响页面;

(3) - shared 表示页面 wxss 样式将影响到自定义组件,自定义组件 wxss 中指定的样式也会影响页面和其他设置 了

 Component({
     options:{
         stylelsolation:isolated  //默认值 互相隔离
         stylelsolation:apply-shared  //外部的样式可以影响到自定义组件,而自定义组件的样式无法影响到外面
         stylelsolation:shared  //互相影响,外部的样式可以影响到组件,组件中的样式也可以影响到外部样式
         
     }
 })

4. 向组件传递数据

在Component对象中,有个properties属性用来向组件传递数据。(有点类似Vue的 props)

Component({
    options:{ stylelsolation:isolated},//样式隔离
    properies的定义的类型不限制,可以是String、Number、Boolean、Object、Array、Null等等
    properies:{  //properies有两种定义方式
        myProperty:String,// 方式1:简化版本 不推荐
        myProperty1:{ //方式2:
			type:Number, //type :传递的数据格式
        	value:0// value:当外部没有数据传进组件中时默认显示的数据
    		_propertyChange: function(newVal, oldVal) {
                      console.log(newVal,oldVal)
				}
		}
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值