自定义组件中,对象{]里面定义的匿名函数会被置为null,这个是为何
- 当前 Bug 的表现(可附上截图)
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
很简单的一段代码,这个是data里面的值
lists: { fn: function () { console.log(111) }, data: [{ ltext: "xxx" , rtext: "xxxxx" }] } |
html
< view class = 'listBody' bindtap = '_listclick' data-val = '{{lists.val}}' > < view class = 'listTitle' > < view class = 'listTitle_Content' >{{lists.title}}</ view > < view class = 'listTitle_Del' wx:if = '{{lists.needDel}}' bindtap = '_btnDelClick' >删除</ view > </ view > < view wx:for = '{{lists.data}}' wx:key = 'index' class = 'listContent' > < span class = 'listContent_left' style = 'color:{{item.lcolor || ""}}' >{{item.ltext}}</ span > < text class = 'listContent_right' style = 'color:{{item.rcolor || ""}}' >{{item.rtext}}</ text > </ view > < view class = 'listButtom' wx:if = '{{lists.btns && lists.btns.length!=0}}' > < view class = 'listButtom_Child' wx:for = '{{lists.btns}}' data-index = '{{index}}' data-val = '{{item.val}}' bindtap = '_btnsClick' >{{item.text}}</ view > </ view > < slot ></ slot > </ view > |
等一会,调试的时候,在_listclick里面控制台打印 this.data 你会发现list里面的其他数据都在
但是 fn 就没了。这个是为啥?????????
不管是放在属性里面或者data都不行,主的page调用setData设置自定义控件的属性内容,也是null
这里说的null是我调试之后看到null,但是你打印出来的时候是没有这个fn的这个东西了
但是page里面就没问题。
1 回复