qq_31205277
2018-08-22 03:01
采纳率: 40%
浏览 15.7k

微信小程序自定义组件在获取到父组件传的值以后如何修改自定义内部数据??

父组件index.wxml stalls是个数组 count的属性是字符串

<view class='stalls' wx:for="{{stalls}}" wx:key=''>
    <stars count="{{item.count}}" />
  </view>
</view>

自定义组件
stars.wxml

   <view class='stall'>
  <view>{{count}}</view>
    <block wx:for="{{solid}}" wx:key="">  
      <image src='../../images/star-solid.png'></image>  
    </block>  
    <block wx:for="{{half}}" wx:key="">  
      <image src='../../images/star-half.png'></image>  
    </block>
    <block wx:for="{{hollow}}" wx:key="">  
      <image src='../../images/star-hollow.png'></image>  
    </block>  
  </view>

stars.js

 Component({
  properties: {
    count:String
  },
  data: {
    // 这里是一些组件内部数据
    solid: ' ', 
    half: ' ', 
    hollow: ' ', 
  },
    onLoad: function () {
      this.setData({ 
        solid: parseInt(this.properties.count),
        half: Math.ceil(5 - this.aproperties.count) - (5 - self.properties.count),
        hollow: parseInt(5 - this.properties.count)
      })
    },
})

自定义组件内部的data里的数据没有变化

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳

    第一,组件没有onLoad事件,自己好好看api,改为ready事件
    https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/component.html

    第二,starts.js代码有问题,properties写成了aproperties,self变量没有定义;乱用

    
    Component({
      properties: {
        count: String
      },
      data: {
        // 这里是一些组件内部数据
        solid: '',
        half: '',
        hollow: '',
      },
      ready: function () {
        this.setData({
          solid: parseInt(this.properties.count),
          half: Math.ceil(5 - this.properties.count) - (5 - this.properties.count),
          hollow: parseInt(5 - this.properties.count)
        })
        }
    });
    
    评论
    解决 2 无用
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题