我的组件为 star
star.js
在组件中需要对外界传入的 properties 中的 num 和 total 做处理最终生成 data 中的 state 数据。
Component({ properties: { num: { type: Number, value: 2, }, total: { type: Number, value: 5 } }, data: { // 这里是一些组件内部数据 state: { type: Array, value: [ { id: 0, select: true }, { id: 1, select: true }, { id: 2, select: false }, { id: 3, select: false }, { id: 4, select: false }, ] } } } |
star.wxml
在组件的页面中调用了 state 属性。
< view > {{state.length}} </ view > |
在页面 index.wxml 中调用组件 star 并没有打印数据,期望值能打印出 state 的长度 5;
将 state 放到 Component 的 properties 中再测试是可以打印出长度 5 的;
我的理解是 properties 中的值应该是在调用组件时候穿的属性值吧;
而 data 应该是内部做处理用的,这里就感觉有点奇怪。
网友回复:
你好,data不要按properties的格式来写,应该按Page的data那样的形式来写。
果然,试了下直接写数组可以了,多谢你的解答。