自定义组件的properties和data

时间:2023-03-09 09:04:23
自定义组件的properties和data

// components/epsoide/index.js

Component({
/**
* 组件的属性列表
*/
properties: {
index: {
type: Number
    //value: 'abcd' //设置index的默认值,如果父组件中没有传递这个属性的值,则调用默认值
}
}, /**
* 组件的初始数据
*/
data: {
//index: 123, //properties中的index的值会覆盖data中的index的值
year: ,
month: ''
}, /**
* 组件的方法列表
*/
methods: { }
})

1、在小程序中,properties的值是从data中来的,所以wxml中两者的调用方法是一样的: {{index}}, {{month}}

2、propeties中和data中如果有相同的值,properties中的值会覆盖data中的值,但是如果properties中用this.setData()的方法也改变这个值,则this.setData()中的值又会覆盖properties中的值

3、<v-epsoide index="{{classic.index}}" /> 父组件通过index="{{}}}"向子组件传值

4、子组件向父组件传值,通过触发事件:this.triggerEvent('like', {}, {})

5、自定义组件中更改data的级别(级别高的会覆盖级别低的)

  this.setData({index: 123}) -->  properties: {index: 456} --> data: {index: 'abc'}