收藏
回答

wxml中for循环 对象取值取不到?

例如:取出循环中id为31的json中的值


var json = {31: "31", 33: "33", 37: "37"}


wxml:


<view wx:for='{{data}}'>

    <text>json: {{json[item.id]}} / data: {{item.id}}</text>

</view>



结果只有 json: / data: 31

回答关注问题邀请回答
收藏

3 个回答

  • Eric Huang
    Eric Huang
    2018-08-31

    你好,写法应该是 wx:for="{{json}}",这里的 json 定义在 Page (或component) 的 data 字段里的。然后你访问的遍历的值需要通过index和item进行访问。例如:


    Page({

        data: {

        json: { 31: "31", 33: "33", 37: "37" }

        }

    })


    <view wx:for='{{json}}'>

        {{index}} : {{item}}

    </view>


    2018-08-31
    有用
    回复 2
    • 2018-09-01

      你好 wx:for 的是data,不是这里定义的json ;{{json[item.id]}} 这个值取不到

      2018-09-01
      回复
    • Eric Huang
      Eric Huang
      2018-09-01回复

      你这里的 item.id 是什么

      2018-09-01
      回复
  • 殿春
    殿春
    2018-09-01

    为啥要这样写,写成数组不行吗,通过下标来获取比这好多了吧

    2018-09-01
    有用
    回复
  • 莫过于此
    莫过于此
    2018-08-31

    前面的key改成字符串试试

    2018-08-31
    有用
    回复 2
    • 2018-08-31

      不行

      2018-08-31
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-08-31回复

      目测wxml中对象不能直接被wx:for遍历,请转换为数组形式[{id:31,value:31},{id:32,value:32}]

      2018-08-31
      回复
登录 后发表内容