微信小程序 自定义组件 数据绑定的一个问题

在做小程序自定义组件试手的时候,想做一个不同样式的复选框,外部只传一个Array进去

外部界面:
index.wxml

index.js
微信小程序 自定义组件 数据绑定的一个问题_第1张图片


组件内:
微信小程序 自定义组件 数据绑定的一个问题_第2张图片
js:
微信小程序 自定义组件 数据绑定的一个问题_第3张图片

结果:
微信小程序 自定义组件 数据绑定的一个问题_第4张图片

内部的xProperties:
微信小程序 自定义组件 数据绑定的一个问题_第5张图片
但是外部的值:
微信小程序 自定义组件 数据绑定的一个问题_第6张图片

                   结果是外部传入的值没有发生变化,拿不到组件里面操作的变化结果,假如我这边是一个表单要提交,这个组件岂不是很废

想请教:由外部往组件里传值,组件内部的动作修改了内部的值,外部怎么拿到这个变化?
我想过两种解决办法:
1、变化值放全局变量或缓存里,感觉这样太蠢了点
2、还有一种是外部再定义一个事件,组件内部修改操作时,触发这个事件,并把内部的变化结果传过来,外部再做一次变化。
        这样的话,岂不是我调用一个组件,还得为这个组件多写一个方法,来做外部的变化
         不知道是不是之前AngularJS双向绑定用多了,感觉遇到了单向绑定的弊端
        下图是尝试结果,有效:
            内部:
                   微信小程序 自定义组件 数据绑定的一个问题_第7张图片

            外部:wxml

微信小程序 自定义组件 数据绑定的一个问题_第8张图片

        js:

        

结果:

微信小程序 自定义组件 数据绑定的一个问题_第9张图片              微信小程序 自定义组件 数据绑定的一个问题_第10张图片

你可能感兴趣的:(微信小程序 自定义组件 数据绑定的一个问题)