|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
: f, N/ m. q7 ~# v - <p v-if="seen">现在你看到我了</p>0 O% v, W1 W5 o6 v$ i7 [
- <template v-if="ok">; w) z# I7 m+ U
- <h1>菜鸟教程</h1>
* M/ M- W& v7 T5 a - <p>学的不仅是技术,更是梦想!</p>. ~0 z4 ^; D, D s9 t3 b! j4 w0 ~$ f4 k
- <p>哈哈哈,打字辛苦啊!!!</p>
0 m' t# x# @" r" S# W# s0 k3 y - </template>
' P8 ]2 E* k; p+ ? - </div>/ V; d# E3 k; q3 h P
- 4 X% H) b( { o0 L
- <script>
! O. c3 N1 o5 k - new Vue({
& Q# j7 u0 }% K" \ - el: '#app',- \" @( a& }5 X& q1 u
- data: {6 |2 u5 m6 T/ k1 M" A- v# u
- seen: true,# r: }5 C! O2 C- K4 S; I
- ok: true
0 g/ Q/ u; d8 e% \' q0 Y' w - }) d; H3 @* X3 h7 B" n" L* I& V x, D' J
- }): Y' q p1 H, X8 B; k& V& i
- </script>
复制代码
( `& o. l0 ^7 x4 o; Y- o2 U0 |: F9 r这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->- K, E. x3 j7 M, ]! K9 L
- {{#if ok}}# d! t4 {! U) @
- <h1>Yes</h1>" j; Z c( ^' f0 B7 J' i% r
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: " p% K+ h; K$ {& b- N) R3 d6 x
- <div id="app">7 B- O) p# o) v" P3 B; a
- <div v-if="Math.random() > 0.5">
0 m, b% G! l- p0 G/ a/ j - Sorry0 u5 i `5 g$ l7 M. L1 ?* f- v
- </div>+ g( p/ s ?6 m6 v
- <div v-else>; v7 N/ Q; d7 X) t
- Not sorry
& u) w# j4 `/ Z. l8 @( C, I/ A - </div>5 ]9 x) Z% w1 b. y' M9 s0 J- L& |
- </div>4 U0 S' H) |& e, Q) q8 @
- ! E/ L; E2 w# C1 K, l
- <script>4 c7 U1 g4 R" ]* d
- new Vue({ e: C+ l( V+ _' d! a. C' s# I
- el: '#app'
! o* E; l. [2 j5 L+ z) v; R - })2 w% u7 t+ {, R
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: . |' t9 M! \8 L( r4 q: p
- <div id="app">
) s1 `) r. N2 ~! e$ ] - <div v-if="type === 'A'">
j2 G% y1 g0 l# E1 T6 K" J - A7 T) V- u$ r; C4 Y& Z
- </div>
3 X2 U) w$ ^/ u% j+ S- w - <div v-else-if="type === 'B'">4 E v2 B* H+ s _9 M8 D# x
- B: ]+ t# f t) C- U5 N1 w7 e4 w+ J
- </div>
/ _- l0 S' \& y - <div v-else-if="type === 'C'">9 \- U8 @9 \' a- }
- C( p8 }; I0 O) A* ^
- </div>) i+ |" N/ h6 r ]
- <div v-else>/ ?' _4 {8 n% A* d& X. J
- Not A/B/C
8 q* @% `8 z: A+ ~; r4 G - </div>
2 K5 u) S- @5 K3 `2 I1 H+ f& [ - </div>$ a6 H3 Y! [: j) [8 b7 Z* C& U2 D
-
. K' c) y: [1 B, h7 a. c% X - <script>
. J/ p1 n, m5 F1 V. x) ~, T - new Vue({9 Q- t1 N/ [# e/ Z7 d
- el: '#app',7 [* a! n1 @: E7 _& g3 L* Q
- data: {3 `2 A4 ^* d# `! S; w
- type: 'C'- o8 R' w. r$ @; O; U
- }: v& e# r+ P0 W/ G0 i0 _
- })
0 K5 Y6 Y$ b% e) n1 c, _* w% ^! q - </script>
复制代码
' F" [% q# K0 F$ u2 X! Kv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令# g3 w; F g& s. W1 e
- <h1 v-show="ok">Hello!</h1>
复制代码 4 F0 n" J1 v, f0 @- A& }* X8 S# R
$ d. f; `! \: ^1 T& t0 D0 Y
* i1 ]) V" Q" \% g* P8 A
: S+ I7 {( e% S4 u5 F |