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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[Vue.js] Vue.js 条件与循环

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-4 10:52:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
条件判断v-if
条件判断使用 v-if 指令:
v-if 指令
在元素 和 template 中使用 v-if 指令:
  1. <div id="app">
    8 u4 f# Q$ t% a: Y2 @3 @
  2.     <p v-if="seen">现在你看到我了</p>
    1 B! o! n& f" f
  3.     <template v-if="ok">0 S9 Z2 J( y" G+ y# s; s
  4.       <h1>菜鸟教程</h1>
    6 U( d- v; O. c. E
  5.       <p>学的不仅是技术,更是梦想!</p>
    + Z0 i4 ^% `8 j+ S6 X! N
  6.       <p>哈哈哈,打字辛苦啊!!!</p>
    % Y/ m+ o$ e8 p. M4 i+ _9 ~' t
  7.     </template>
    # e5 L) Z9 O. T7 H! g/ d) {  E# R
  8. </div>
    : j2 ^0 V4 g  {8 \8 m7 Q6 C' s1 k
  9.     6 v2 Y6 [& U: @. ?4 P
  10. <script>/ T/ }1 q% ^8 A0 z$ ~
  11. new Vue({
      a' d% d! I! [3 M
  12.   el: '#app',/ i6 J; A2 n; v2 q. h  F
  13.   data: {
    , u+ q( z) y. b3 j
  14.     seen: true,' t# W  ~" H0 R
  15.     ok: true0 C. V& Y* x$ X1 Y6 E; n, {
  16.   }
    & z" s$ l2 R/ U# j
  17. }): O2 y& x4 O; o' W+ _- F% c- l
  18. </script>
复制代码
) y, y9 `( K0 r  m1 E
这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。
在字符串模板中,如 Handlebars ,我们得像这样写一个条件块:
  1. <!-- Handlebars 模板 -->% b5 {" S0 A) Y+ X# k7 T
  2. {{#if ok}}8 x3 E3 v. n  V6 }
  3.   <h1>Yes</h1>
    . |: K4 D4 o0 H. y
  4. {{/if}}
复制代码
v-else
可以用 v-else 指令给 v-if 添加一个 "else" 块:
v-else 指令
随机生成一个数字,判断是否大于0.5,然后输出对应信息:
: U  w5 X! Z% h/ q, [! S9 Q( l
  1. <div id="app">, M/ b' Q: k: d# j: z6 z; d& Z
  2.     <div v-if="Math.random() > 0.5">
      V6 K$ ]( L7 b/ P+ a
  3.       Sorry
    7 T+ ^* e1 H( m9 p) b
  4.     </div>
    & b! `& `8 h0 R. d
  5.     <div v-else>6 p0 V8 ?% I. h, l; }1 v1 [
  6.       Not sorry
    1 s% m$ h- W* g, a) @
  7.     </div>4 Y. v2 a2 ?! \/ u( `
  8. </div>
    % w% L/ B8 I* r+ K
  9.    
    * b# Y+ ^: j1 o) }
  10. <script>
    & G/ ]( I1 c' d; c0 h
  11. new Vue({# z4 {- M! S$ C3 x0 m# `
  12.   el: '#app'
    & @+ r! A8 [$ O
  13. })
    : A$ j% D1 Q7 J: C+ C4 d/ y9 a2 x
  14. </script>
复制代码
v-else-if
v-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用:
v-else 指令
判断 type 变量的值:

3 d1 R" d% H6 P2 l
  1. <div id="app">
      L2 g+ B8 `+ H8 }" j* c9 J
  2.     <div v-if="type === 'A'">& t* I) I* x& B
  3.       A( N3 M& p- E7 I" Z* q2 i, e9 {" ^
  4.     </div>
    * c: i4 G. z, H7 s
  5.     <div v-else-if="type === 'B'">3 O2 D! z3 P2 h  L0 c
  6.       B7 K1 ^! j# u0 E# S& B: T+ v9 t
  7.     </div>& G  d) v& G% L, m7 h
  8.     <div v-else-if="type === 'C'">2 M" _* F% |1 ^- e9 K7 o( U
  9.       C. Q& I) N  A+ z
  10.     </div>
    + v6 }& ]* [# X
  11.     <div v-else>
    ! T3 ~% o/ W( c, L* I
  12.       Not A/B/C$ g+ w9 a% S% f7 j" T
  13.     </div>
    0 F& l( J4 y! V
  14. </div>  s& Q% H" E9 y8 V
  15.     0 S9 s+ H4 [  V& Y. ?
  16. <script>
    ( z( D3 g5 W# z# {. g
  17. new Vue({  ?7 G- x" i; C3 O( S! a
  18.   el: '#app',
    + m. ~* ~2 E" c& r% Y3 Y2 J2 B
  19.   data: {: e/ n9 c9 g4 X$ d0 H
  20.     type: 'C': z7 r" H8 W9 L0 L
  21.   }$ W7 e! G+ z( z% o2 @/ |
  22. })8 s* r, Y1 C9 y: f% D
  23. </script>
复制代码
; _4 X1 F+ o: }' D. y& X) T
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。
v-show
我们也可以使用 v-show 指令来根据条件展示元素:
v-show 指令* w/ Y0 Y, h# p
  1. <h1 v-show="ok">Hello!</h1>
复制代码
, t7 j; ~) D1 g6 M: M

* K" H+ z) G6 M. Z; S% l9 M, V0 F9 d+ m) [* \7 L/ N
- S' Y2 U" |1 Q+ y5 P% C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-20 12:30 , Processed in 0.149061 second(s), 19 queries .

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