我的組件為 star
star.js
在組件中需要對外界傳入的 properties 中的 num 和 total 做處理最終生成 data 中的 state 數(shù)據(jù)。
Component({ properties: { num: { type: Number, value: 2, }, total: { type: Number, value: 5 } }, data: { // 這里是一些組件內(nèi)部數(shù)據(jù) 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
在組件的頁面中調(diào)用了 state 屬性。
< view > {{state.length}} </ view > |
在頁面 index.wxml 中調(diào)用組件 star 并沒有打印數(shù)據(jù),期望值能打印出 state 的長度 5;
將 state 放到 Component 的 properties 中再測試是可以打印出長度 5 的;
我的理解是 properties 中的值應(yīng)該是在調(diào)用組件時候穿的屬性值吧;
而 data 應(yīng)該是內(nèi)部做處理用的,這里就感覺有點奇怪。
網(wǎng)友回復:
你好,data不要按properties的格式來寫,應(yīng)該按Page的data那樣的形式來寫。
果然,試了下直接寫數(shù)組可以了,多謝你的解答。