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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[Vue.js] 循环语句

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-4 10:56:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
循环使用 v-for 指令。
v-for 指令需要以 site in sites 形式的特殊语法, sites 是源数据数组并且 site 是数组元素迭代的别名。
v-for 可以绑定数据到数组来渲染一个列表:
v-for 指令" c4 l5 F* @8 i
  1. <div id="app">
    9 R) k$ J" }+ U9 j. J
  2.   <ol>
    $ \, m) [' g9 T% [" ?- ~) x4 {
  3.     <li v-for="site in sites">
    ( J- c) X  @. ~- H
  4.       {{ site.name }}# s# o" D3 _1 @$ m/ [/ A
  5.     </li>/ Q8 `5 Z4 X; c7 L
  6.   </ol>
    9 Y6 D% F8 C& W. i1 `0 @" V, d. l
  7. </div>
    ; F. f! M, P+ L, Q( f

  8. : t  Z% A( F) T4 b' V/ P: y
  9. <script>
    # G) i+ l' E3 n- ]+ }8 P8 R2 d9 _
  10. new Vue({
    : v& [, H4 F- P$ |# y+ X5 K8 h" i
  11.   el: '#app',
    4 s. R; o5 t5 }) P
  12.   data: {) D, g# E/ j% |; J
  13.     sites: [
    6 I; k6 P) |! ^' i
  14.       { name: 'Runoob' },
    ' w* h- J- l7 G: x7 o  Z
  15.       { name: 'Google' },
    4 x" I0 \, J' }- x: S  K9 u! ?* c
  16.       { name: 'Taobao' }
    9 _' w% J3 N* i
  17.     ]( f$ T6 d* G6 c" o) R0 s
  18.   }
    6 f& L! j9 Q+ R: s$ B3 o  n" x  r! U
  19. })
    & d% l4 \, K. {* G  f  x. X5 R
  20. </script>
复制代码

5 p8 j2 u/ G- R  M4 W3 I2 I0 v* R* W8 E8 A6 `
模板中使用 v-for:
v-for
* V7 ^9 X% z8 W  W8 D7 Z
  1. <ul>7 x* t7 i% H, E, A
  2.   <template v-for="site in sites">% P/ ]1 e* _7 O# U$ V) K" i% f
  3.     <li>{{ site.name }}</li>' _* u( o9 L, [- G& Q% q* s, b
  4.     <li>--------------</li>4 k" \  s" t- X$ G9 ?6 @( ?
  5.   </template>7 |, L4 L' ^7 u, \( W. ^8 P* x+ C
  6. </ul>
复制代码
v-for 迭代对象
v-for 可以通过一个对象的属性来迭代数据:
v-for
4 X9 Y$ z: }( Y! [; F: y5 C
  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;"># x. W/ r: {: p
  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;">
    2 w+ u/ ~# b9 a0 V* }7 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;">  k5 s6 A, R+ q. \3 N( H1 W4 @$ s
  4.     {{ value }}# |1 B  Y7 {) s7 v( 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;">; W* D1 S" s7 f/ p& g5 ~; X$ G& \0 |
  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;">( Z9 R: M- ?! ]% P0 s: a. ~
  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;">
    2 N0 v& J3 L' b( }

  8. . r/ B; F2 U) f  F/ b( p) i/ E
  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;">! `0 p0 f- t# u: Q
  10. new Vue({
    / D7 u( z8 ?7 {+ w* T
  11.   el: '#app',0 X) k* l4 k" m: T; \( [2 S* j% Y& Y
  12.   data: {$ d% K& J6 \4 d. c7 X
  13.     object: {
    - Q. k+ E# C4 T$ ~' L& T
  14.       name: '菜鸟教程',3 `/ C1 S% |, ~0 @+ w
  15.       url: 'http://www.runoob.com',
    * l# {9 o* m6 M) \) V: V& F
  16.       slogan: '学的不仅是技术,更是梦想!'
    . a: w4 O' [' q2 r1 u# _$ w. G
  17.     }
    , K- X, B, b! u: j/ X4 }
  18.   }
    - k) A. f: N, L; h4 ~  q2 @, q
  19. })
    , m/ k, K- J% F; l* V* S/ d0 _# g
  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-for" A( T+ o9 L9 r' z7 O# X: j  g) |
7 x7 E8 t# R9 D" a" v+ V4 I
  1. <div id="app">
    & X4 e( b6 k% }% i
  2.   <ul>
    1 p- h* c, p$ p$ T' k/ a  F
  3.     <li v-for="(value, key) in object">+ a8 G( v6 c& Z; w
  4.     {{ key }} : {{ value }}) ~0 p  o( ?) w6 U4 \
  5.     </li>  J( o* I3 Z$ ^( A7 [  O- f
  6.   </ul>( L, C! ^: u1 k5 F
  7. </div>
复制代码
第三个参数为索引:
v-for2 w/ A# E8 @' N0 _" T/ p

6 _- n' ]' |( g7 U& v* X
  1. <div id="app">7 b+ h, q! ~2 M/ F7 \) \: D' w
  2.   <ul>5 I8 x5 M. c* e7 B8 c9 b; C& l
  3.     <li v-for="(value, key, index) in object">
    8 `, \; `# V" }# v( e' V$ |
  4.      {{ index }}. {{ key }} : {{ value }}
    " d8 h, D/ n1 F6 P: d$ u6 f
  5.     </li>
    9 z  x& S7 x% }" ]
  6.   </ul>( Q  N. |. T3 _
  7. </div>
复制代码
v-for 迭代整数
v-for 也可以循环整数
v-for
5 Z# K% f/ v) w( M# l' m
% d! s8 s1 m: E+ A1 c
  1. <div id="app">) c# J) Z( T+ L6 i! r6 f) Q
  2.   <ul>
    , [; x3 c3 u5 D* q: C; j5 m
  3.     <li v-for="n in 10">- ]* w& B' ?- s6 ~' o2 Z
  4.      {{ n }}
    - L2 ?& f( m9 T# m; M0 Q" m; N
  5.     </li>3 X2 t; p0 x# w: [
  6.   </ul>" p" c) W, ^" x; n0 U) k: P
  7. </div>
复制代码
+ p. I) |3 ~; I4 Z* Q
5 d9 f8 U  C. z" i, r# ^0 p( q

, {) ^) l& `1 @  Y$ N, B5 P/ d9 h- h& t) X6 O% x5 o! v1 m( y+ r( u
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 17:24 , Processed in 0.057938 second(s), 19 queries .

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