关于wx:for的不足
发布于 6 年前 作者 czhong 13288 次浏览 来自 问答

最近想写一个循环渲染,可是发现微信自带的for不太好用。

例如我想写一个<view>根据后台拉到的数据渲染100次。

那么传统写法这样:

for (int i = 0; i < 100; i++)
{
    Console.WriteLine(i);
}

微信里就没法这样:

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

    <view>循环view</view>

</view>

cishu从后台data里取出,是一个数值。

这样做法是想根据拉取到的数值去渲染那段view次数。

看了下微信的for好像还不支持这样的写法。

4 回复
<view wx:for="{{cishu}}" wx:key="{{index}}">
  <view>次数{{index}}</view>
</view>
data: {
    cishu:1
  },
data: {
    cishu:10
  },

你这样写是支持的。你先在js里声明一下,Page({data:{cishu:0}),然后给cishu赋值。我估计是你读cishu的地方没读对,或者值类型有问题,可以这样写一下cishu*1

个人经验,无论是在 js 中还是在 PHP 中,用惯了 foreach 之后,用下标遍历的方式用得越来越少了。

你可以写成

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

    <view>{{index}}</view>

</view>

回到顶部