谁给我讲讲 v-for="(i,index) in 2",有点懵

2019-08-28 15:34:01 +08:00
 TomVista

运行起来

i=1,index=0
-----------
i=2,index=1
2299 次点击
所在节点    问与答
9 条回复
pipixia
2019-08-28 15:39:02 +08:00
懵在哪?
TomVista
2019-08-28 15:40:49 +08:00
@pipixia 数值 2 可以遍历吗? 可以的话,也应该是一次循环吧···我从来没见过这么写的··,他竟然可以运行,我现在就是这么个想法:dog
hoyixi
2019-08-28 15:41:13 +08:00
v-for="(i,index) in ['a','b','c']"
yangshan010
2019-08-28 15:42:49 +08:00
v-for
预期:Array | Object | number | string | Iterable (2.6 新增)

vue 官网。
TomVista
2019-08-28 15:45:09 +08:00
@yangshan010 收到,感谢人形 apidoc
pipixia
2019-08-28 15:45:48 +08:00
@TomVista 官网有遍历整数的例子
marcong95
2019-08-28 15:47:27 +08:00
v-for 遍历 number 的话是从 1 开始的
Biwood
2019-08-28 15:49:18 +08:00
https://vuejs.org/v2/guide/list.html#v-for-with-a-Range

我也是才看到这种写法,应该是从 python 之类的语言得到的灵感,语法糖嘛
madao
2019-08-28 16:16:43 +08:00
这个实现在这里: https://github.com/vuejs/vue/blob/6fe07ebf5ab3fea1860c59fe7cdd2ec1b760f9b0/src/core/instance/render-helpers/render-list.js

具体实现内容如下:

```
if (typeof val === 'number') {
ret = new Array(val)
for (i = 0; i < val; i++) {
ret[i] = render(i + 1, i)
}
}
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/595907

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX