微信小程序Uncaught error:expect END descriptor with depth 0 but get another和expect FLOW_MINIPULATE_CHILD

Framework innererror(expect FLOW_MINIPULATE_CHILD but get another)

Uncaught error:expect END descriptor with depth 0 but get another

2019.3.19号晚上,很久没动的代码,线上忽然报这个错误。

经过排查,问题如下:

页面定义的data对象的变量 config:null

代码设置config的值,设置为数组 this.setData({config:[xxx,xxx]});

然后将config传递到子组件A,子组件A用properties接受,设置为Array

properties:{

config:Array

}

然后子组件A中含有子组件B,然后在子组件B的属性设置了wx:if="{{config}}"

以上情况手机运行直接报错。

修改方式有如下几种:

1、在子组件A上的子组件B,修改wx:if="{{config&&config.length}}"

2、在子组件A中,修改properties,

properties:{

    config:[Array,null]

}

3、修改页面定义的初始默认值,将config:null修改为config:[]

以上三种方法都能解决这个问题。显然,第三种才是最合理的做法。也就是定义的变量的类型和设置的数据类型和子组件接受的数据类型,三者保持一致。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值