您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11226|回复: 0
打印 上一主题 下一主题

[Vue.js] 循环语句

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-4 10:56:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
循环使用 v-for 指令。
v-for 指令需要以 site in sites 形式的特殊语法, sites 是源数据数组并且 site 是数组元素迭代的别名。
v-for 可以绑定数据到数组来渲染一个列表:
v-for 指令
/ T& t9 N& X0 V* `% V. G" c
  1. <div id="app">2 `. K& H7 H6 n0 r+ o& [; W
  2.   <ol>; |/ F- C  H8 y
  3.     <li v-for="site in sites">
    " o& o4 l/ r7 }, H* Q# T
  4.       {{ site.name }}
    / R$ q8 Z& ~/ Z3 R" C
  5.     </li>
    / Q) M2 R9 H1 I& F/ `/ X8 w
  6.   </ol>
    " ?$ A5 g0 T! @
  7. </div>
    & r- i7 l; ^( u: [9 G& T3 Z+ u
  8. : D  j' @$ e; w8 M) i
  9. <script>
    & g2 t. _  _9 s( l$ `7 V; t  a
  10. new Vue({' W+ G! ^- T7 R2 I
  11.   el: '#app',4 @: R% U" g) R9 i9 v
  12.   data: {
      t1 x8 Y, Y; q* F3 s0 @
  13.     sites: [
    , f, F9 W& q2 f5 ~3 D, x$ \  W
  14.       { name: 'Runoob' },
    . @2 g/ y1 k3 g4 E: q) ^6 s
  15.       { name: 'Google' },1 ^9 n0 Z" i8 w8 g) l
  16.       { name: 'Taobao' }, V* L0 u1 a8 g' `9 e0 K2 L, [
  17.     ]
    6 T2 S) Y0 j6 W* |6 X5 W' I
  18.   }
    3 p6 u5 D) o- j2 [7 K, l, d
  19. })
    5 i& q% o- h& X. e( f
  20. </script>
复制代码
# O; p1 U3 U) \% Z9 x+ ]5 ~0 Q0 B: V, [

' K% p5 z2 V6 j& F
模板中使用 v-for:
v-for/ Z& ]# V* c5 ~) U# Z% R$ E' `: w: }
  1. <ul>
    " n# f* t. E/ X8 A# |* I+ B, h
  2.   <template v-for="site in sites">
    # H* u3 J" n/ m! m8 a3 Z9 h8 J
  3.     <li>{{ site.name }}</li>. M2 f8 T4 h  A+ C
  4.     <li>--------------</li>
    # n$ q& M( u- K- X' A% v5 S+ z
  5.   </template>
    ( B$ K* t  ]9 ~  g' @. O/ g: O
  6. </ul>
复制代码
v-for 迭代对象
v-for 可以通过一个对象的属性来迭代数据:
v-for
' D4 ~0 a) Q' U; y# N
  1. <div><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;"><</span><span class="hl-reserved" style="border: 0px; color: green; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">div</span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;"> </span><span class="hl-var" style="border: 0px; color: rgb(0, 0, 139); font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">id</span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">=</span><span class="hl-quotes" style="border: 0px; color: rgb(139, 0, 0); font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">"</span><span class="hl-string" style="border: 0px; color: rgb(170, 17, 17); font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">app</span><span class="hl-quotes" style="border: 0px; color: rgb(139, 0, 0); font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">"</span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">></span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">2 {& B. m' G3 I: G+ F0 a# i
  2.   </span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;"><</span><span class="hl-reserved" style="border: 0px; color: green; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">ul</span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">></span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">
    ; b# \5 g4 [7 t2 P% N
  3.     </span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;"><</span><span class="hl-reserved" style="border: 0px; color: green; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">li</span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;"> </span><span class="hl-var" style="border: 0px; color: rgb(0, 0, 139); font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">v-for</span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">=</span><span class="hl-quotes" style="border: 0px; color: rgb(139, 0, 0); font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">"</span><span class="hl-string" style="border: 0px; color: rgb(170, 17, 17); font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">value in object</span><span class="hl-quotes" style="border: 0px; color: rgb(139, 0, 0); font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">"</span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">></span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">
    9 A6 u9 z1 Y9 A8 E9 D
  4.     {{ value }}7 w4 g$ J! _/ C+ ~: E
  5.     </span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;"></</span><span class="hl-reserved" style="border: 0px; color: green; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">li</span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">></span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">$ I$ q; b# s1 `' E' X0 W
  6.   </span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;"></</span><span class="hl-reserved" style="border: 0px; color: green; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">ul</span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">></span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">) C9 d, r* b3 ^# |
  7. </span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;"></</span><span class="hl-reserved" style="border: 0px; color: green; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">div</span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">></span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">
    1 U  A7 @* q% I- p: i) N. T
  8. ; t8 u& E' V/ t/ a# W7 p
  9. </span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;"><</span><span class="hl-reserved" style="border: 0px; color: green; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">script</span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">></span><span class="hl-code" style="border: 0px; color: gray; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">
    4 H7 _' S. x0 w
  10. new Vue({& R0 M% u% f1 t: \( {
  11.   el: '#app'," O7 _, i* N0 p4 G$ R" z6 `
  12.   data: {$ d4 m" ]0 A! J1 |1 v& g! H
  13.     object: {( Z' M+ s2 c% u" G7 N8 K
  14.       name: '菜鸟教程',' d8 P8 \" w( L9 {3 u
  15.       url: 'http://www.runoob.com',
    ( T( O# a4 y+ ~" Z- f' A
  16.       slogan: '学的不仅是技术,更是梦想!'* U" U, g  ^/ R- Z% \7 w" a+ j+ x7 w; m
  17.     }
    ! [2 \* l0 H+ [9 \5 i5 N6 i+ D8 F
  18.   }
    7 z, G3 ?6 q" z( u
  19. })# e4 n8 n9 R% H5 F1 i% d
  20. </span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;"></</span><span class="hl-reserved" style="border: 0px; color: green; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">script</span><span class="hl-brackets" style="border: 0px; color: olive; font-family: Menlo, Monaco, Consolas, &quot;Andale Mono&quot;, &quot;lucida console&quot;, &quot;Courier New&quot;, monospace; font-size: 13.2px; white-space: pre-wrap;">></span></div><div></div>
复制代码
你也可以提供第二个的参数为键名:
v-for5 v: q: z! a, u& M6 A9 Z

9 Y6 v5 F2 L0 }" V( G% w1 u6 Z
  1. <div id="app">7 `4 W" ^- W# v
  2.   <ul>4 n8 k# |5 e4 i8 C: S+ d) g# X# c$ b
  3.     <li v-for="(value, key) in object">
    + q3 K2 J; K# e
  4.     {{ key }} : {{ value }}5 t3 X" R8 u! s- f; D( D2 U% u
  5.     </li>
    7 u! {3 R" S! o2 G. k1 n0 {
  6.   </ul>- M7 B! V7 d5 G! D+ I
  7. </div>
复制代码
第三个参数为索引:
v-for
* ]( |# E% S6 Q9 }# O( a$ ~4 r6 c
7 h* i0 v3 `& s4 D% {; m
  1. <div id="app">& ]1 C1 H4 r, p8 L4 J+ j! f6 e4 E
  2.   <ul>
    0 a; A% x5 w! Z" n- x
  3.     <li v-for="(value, key, index) in object">
    5 A' p" V, L, {* U$ G, T
  4.      {{ index }}. {{ key }} : {{ value }}$ C% S$ @4 K5 H* a# A
  5.     </li>
    0 a3 W2 B7 Y  v& [+ J  |
  6.   </ul>
    : F5 X; j5 _9 J0 G+ R1 u' Y, T
  7. </div>
复制代码
v-for 迭代整数
v-for 也可以循环整数
v-for( i, n+ |& a9 [, b' h
3 L  S0 N: Z: G8 d
  1. <div id="app">
    9 i( {: {/ E( S$ T) P7 C0 M
  2.   <ul>
    9 _4 X+ q3 a- q4 ]
  3.     <li v-for="n in 10">
    6 b/ p: z! e; V* D1 C2 K
  4.      {{ n }}
    ! D+ K4 z# U* b. w& J
  5.     </li>
    ! y) h9 H! M8 ?! P
  6.   </ul>' J  m9 X0 T7 {3 A
  7. </div>
复制代码

; ?$ d! D1 P! H9 \
' `+ ]( c! |# k5 s4 I0 S0 A/ V3 g" T) x' t% |. J: x

& @9 @/ e( Y$ l
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-21 05:17 , Processed in 0.049848 second(s), 19 queries .

Copyright © 2001-2026 Powered by cncml! X3.2. Theme By cncml!