自定义组件 Component 构造器 data 属性疑似有 bug
发布于 7 年前 作者 jing13 9475 次浏览 来自 问答

我的组件为 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 应该是内部做处理用的,这里就感觉有点奇怪。

1 回复

你好,data不要按properties的格式来写,应该按Page的data那样的形式来写。

回到顶部