page中定义starNum = 2;
这样写,只会打印一个图片
<block wx:for="{{starNum}}">
<image src='https://fangmaster-pic.oss-cn-beijing.aliyuncs.com/small_program/grade-star.png' mode="widthFix"></image>
</block>
<block wx:for="2">
<image src='https://fangmaster-pic.oss-cn-beijing.aliyuncs.com/small_program/grade-star.png' mode="widthFix"></image>
</block>
这样写,会打印两个图片
<block wx:for="{{2}}">
<image src='https://fangmaster-pic.oss-cn-beijing.aliyuncs.com/small_program/grade-star.png' mode="widthFix"></image>
</block>
<block wx:if="{{starNum > 0}}" wx:for="{{[1,2]}}">
<image src='https://fangmaster-pic.oss-cn-beijing.aliyuncs.com/small_program/grade-star.png' mode="widthFix"></image>
</block>
这样写,会打印三个图片
<block wx:if="{{starNum > 0}}" wx:for="[1,2]">
<image src='https://fangmaster-pic.oss-cn-beijing.aliyuncs.com/small_program/grade-star.png' mode="widthFix"></image>
</block>
为什么会出现这种情况呢?完全搞不懂逻辑
我想实现
<block wx:for="{{starNum}}">
<image src='https://fangmaster-pic.oss-cn-beijing.aliyuncs.com/small_program/grade-star.png' mode="widthFix"></image>
</block>
能够打印2个图片,该怎么做?
page里面的 starNum 类型写成string了吧,应该是number
谢啦
微信小程序文档里有说明:
https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/list.html
直接写 wx:for="2" ,不管是什么内容,实际都是作为字符串处理的,而wx:for="{{x}}",如果x是有效变量则按变量值处理,如果x是数组则按数组处理,其它情况按字符串遍历。
嗯嗯 从别的page中传过来的,默认string了
为什么我把starNum直接定为2,可以正常显示两个
在js生成一个数组然后再渲染不就好了