六,自定义组件

2023-03-14  本文已影响0人  扶光_

一,组件

1.1局部引用 :在当前被引用的页面使用

在局部的*.json中

{
"usingComponents":{
                "my-test1":"/components/test1/test1"
        }
}

然后在对应的wxml文件中去使用

<my-test1></my-test1>

1.2全局引用:每个页面中使用

在app.json中去配置


1.3样式隔离

styleIsolation:

可选值 默认值 描述
isolated 启用样式隔离
apply-shared 页面的wxss样式能影响到自定义组件
shared 相互影响

二,组件中的数据,方法和属性

2.1data数据

用于组件渲染私有数据,需要定义到data节点中

2.2 methods 方法

事件处理函数自定义方法定义在methods节点中

2.3 properties 属性

properties 是组件的对外属性,用来接收外界传递到组件中的数据

properties: {
    num:{
      type:Number,
      //默认值
      value:1
    }
  },

2.4 data 和 properties 的区别

本质上一样的,都是可读可写的

2.5 使用 setData 修改 properties

3、数据监听器

监听和响应任何属性和数据字段的变化,从而执行特定的操作

observers: {
    '字段A, 字段B': function(字段A的新值, 字段B的新值) {
        // do something...
    }
}
 /**
   * 组件的方法列表
   */
  methods: {
    add1(){
      this.setData({
        num1:this.data.num1 +1
      })
    },
    add2(){
      this.setData({
        num2:this.data.num2+1,

      })
    }
  },
    //监听器
    observers:{
      'num1,num2':function(new1,new2){
        this.setData({
          sum:new1+new2
        })
      }
    }
})

image.png
监听对象属性的变化:支持监听对象中单个或多个属性的变化
observers: {
    '对象.属性A, 对象.属性B': function(属性A的新值, 属性B的新值) {
        // 1:给属性A赋值
        // 2:给属性B赋值
        // 3:直接给对象赋值
    }
}

四,组件的生命周期

4.1组件的生命周期函数

生命周期函数 参数 描述
created 组件实例刚创建(不能调用setData)
attached 组件实例进入页面节点树时(this.data初始化完毕)
ready 组件在视图层布局完成后
moved 组件实例被移动到节点树另一个位置
detached 组件实例被从页面节点树中移除(清理性质的工作)
error Object Error 组件方法抛出错误

4.2 lifetimes节点

 lifetimes:{
    created(){

          },

  }

5、组件所在页面的生命周期

5.1 组件所在页面的生命周期函数

组件所在页面的生命周期函数 参数 描述
show 组件所在页面被展示时
hide 组件所在页面被隐藏时
resize Object Size 组件所在页面尺寸变化时

5.2 pageLifetimes节点

pageLifetimes:{
show(){

    },
hide(){

    },
resize(){

    },
}
上一篇下一篇

猜你喜欢

热点阅读