自定义组件,父组件属性有非空默认值,页面动态设置属性后,前后两次触发属性监听
代码结构:基于自定义组件,写了两个组件,一个list,一个list-item,list引用list-item,page页面引用list自定义组件。页面设置默认data(值为空),通过wxml属性传值给list自定义组件,list的properties设置非空默认值,给property添加属性变化响应函数,page onload后动态setData。以上过程会触发两次list组件的属性变化响应函数。
一次是list组件attach前,page data的默认空值(newVal)与property的默认非空值(oldVal)比较。
第二次是页面page onload后,setData的值(newVal)与第一次中page data的默认空值(oldVal)。
// index.js Page({ data: { items: [], listSummary: {}, }, ... }); |
// list.js Component({ ... properties: { items: { type: Object, value: {}, observer: '_itemsChange' , }, listSum: { type: Object, value: { categoryID: 0, ... }, observer: '_listSumChange' , }, }, ... }); |
想请问以上这种情况是否合理?是否会影响性能?