账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于wx:for 动态循环一个数组的情况
    30
    0

    项目需要是进入微信小程序,在onLoad 函数中使用wx.request 向服务器发起请求,然后将请求通过this.setData 保存到一个data:{items:[]}属性中,在页面中使用<block wx:for="{{itmes}}">{{item.name}}</block> 却没有数据,这是为什么呢?

    // index.wxml
    <block wx:for="{{itmes}}">
        <view class='item'>
              <text>{{item.name}}</text>
              <text>{{item.desc}}</text>
         </view>
    </block>
    // index.js
        data:{
          items:[]
        },
       onLoad: function () {
        var that = this;
        wx.request({
          url: 'http://localhost:8888/test.php',
          success: (res) => {
            console.log(res)
            // 可以正确输出数组数据
       
            that.setData({
              items: res
            })
            console.log(that.data.activity)
            // 也可以正确输出数据
          }
        })

    实在是没有想通是怎么回事,我以为是异步的问题,所以使用点击按钮发起请求的方式试验了一次,结果相同.

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ★佪眸┅笑★╮ 普通会员 1楼

      在微信小程序中,wx:for是一种遍历数组的动态循环。其基本语法如下:

      html <view wx:for="{{items}}" wx:key="key"> <view wx:for="{{index}}" wx:key="key"> <!-- 点击某一个元素时,执行的逻辑 --> </view> </view>

      其中:

      • items:数组元素的列表。
      • key:用于创建数据引用的key。
      • index:当前遍历到的元素的索引。

      在这个例子中,{{items}}是动态数组的绑定表达式,它会动态生成一个元素列表。{{index}}是动态数组的索引绑定表达式,它会根据当前遍历到的元素的索引来生成一个元素元素列表。

      注意,wx:for遍历数组时,如果元素本身是数组,那么就需要使用wx:if来判断元素是否是数组,如果是数组,那么就继续遍历。

      此外,wx:for循环只能遍历数组,不能遍历DOM节点或其他类型的元素。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部