properties:{ category:String, category_sub:String } |
category是通过properties传递值了的。
在自定义组件的attached周期内console.log(this.data),返回
这里并没有显示,但展开后
却显示是存在的。
而且如果打印console.log(this.data.category)或console.log(this.properties.category),返回的也是空值,可是它明明已经传递过来了啊,而且在模板里也是有效的
< view wx:if = "{{category}}" >{{category}}</ view > //生效了 |
使用的开发工具是最新的开发版的
在page的onLoad里setData
this.setData({
types:[1,2,3]
})
<test types="{{types}}" />
组件里生命周期方法里打印types和时间顺序如下:
created [] 2019-11-13 21:05:16.036 => 组件的created
attached [] 2019-11-13 21:05:16.045 => 组件的attached
page onload 2019-11-13 21:05:16.053 => 页面的onLoad
pageLifetimes show 2019-11-13 21:05:16.058 => 组件里pageLifetimes里的show
page onShow 2019-11-13 21:05:16.059 => 页面的onShow
ready (3) [1, 2, 3] 2019-11-13 21:05:16.114 => 组件的ready
可以看出,组件最开始执行的是created,最后才是ready,也只有到了ready,才能打印出组件的this.data.types
所以你在attached里打印的对象里的数据为空,虽然为空但是你展开后却有值,那是因为,到了ready,你打印的那个变量被赋值了,但是变量还是那个变量,变量地址没变