收藏
回答

如何在wxml循环当中嵌套动态变量名?

我目前有一个list列表循环,并且这个list列表里面有个name字段,是另外一个变量名的名称,演示结构如下:

Page({
  data: {
    user: [
      {name: "zhangsan", age: '10'},
      {name: "lisi", unique: '18'},
      {name: "laowang", unique: '35'},
    ],
    zhangsan:"是一个小学生",
    lisi:"是一个初中生",
    laowang:"是一个老司机"
    },
……  


然后,在wxml渲染这个user列表,同时动态展示关联字段的信息:

<view wx:for="user">
  {{item.name}}今年{{item.age}}岁了,他的职业是:{{ [item.name] }}
</view>


职业是:后面这个{{ [item.name] }} 通过查资料,据说可以用方括号括起来,但是输出的依然是user里面的值,并没有和外部的变量关联起来,请问如何实现?

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

3 个回答

  • 苏州千呼软件技术有限公司
    苏州千呼软件技术有限公司
    2023-04-08

    可以使用双花括号和拼接字符串的方式来嵌套动态变量名。例如,假设有如下数据:

    Page({
      data: {
        list1: ['A', 'B', 'C'],
        list2: ['D', 'E', 'F']
      }
    })
    

    在 wxml 中可以这样循环嵌套:

    <view wx:for="{{list1}}">
      <view>{{item}}</view>
      <view wx:for="{{list2}}">
        <view>{{item}}{{index}}: {{list1[index] + item}}</view>
      </view>
    </view>
    

    在内部循环中,使用 {{list1[index] + item}} 来动态拼接变量名。其中 index 是内部循环的当前下标,item 是内部循环的当前元素。这样就可以实现在 wxml 循环中嵌套动态变量名。


    2023-04-08
    有用
    回复
  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    2023-04-08

    user: [

                { name: "zhangsan", age: '10' },

                { name: "lisi", unique: '18' },

                { name: "laowang", unique: '35' },

            ],

            zhiye: {

                zhangsan: "是一个小学生",

                lisi: "是一个初中生",

                laowang: "是一个老司机"

            }


    <view wx:for="{{user}}">

        {{item.name}}今年{{item.age}}岁了,他的职业是:{{ zhiye[item.name}}

    </view>


    2023-04-08
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    2023-04-08
    wx:for="{{user}}"
    
    2023-04-08
    有用
    回复 2
    • echo
      echo
      2023-04-08
      这个地方是笔误写错了,不过重点不是这里,是循环体里面的职业是这个地方,如何动态的关联到循环体外的变量
      2023-04-08
      回复
    • Mr.Zhao
      Mr.Zhao
      2023-04-08回复echo
      职业放到一个对象里  然后 {{ 职业[item.name] }}
      2023-04-08
      回复
登录 后发表内容