若同名的数据字段都是对象类型,会进行对象合并;
其余情况会进行数据覆盖,覆盖规则为:组件 > 父 behavior > 子 behavior 、 靠后的 behavior > 靠前的 behavior。(优先级高的覆盖优先级低的,最大的为优先级最高)
比如:同名属性data333
// 组件coma.js
behaviors: [Behavior000, Behavior111],
data: {
data333: {a: 'coma'},
},
// Behavior000.js
data: {
data333: true,
},
// Behavior111.js
data: {
data333:[1, 2, 3],
},
behaviors: [Behavior333],
// Behavior111.js嵌套了Behavior333.js
data: {
data333: {a:"a3",b:3, c: [1,2 ,3, 4]},
},
返回的是: data333: [1, 2, 3]
不符合data中同名属性,不全是object时,覆盖的规则。