|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
6 L) u5 V/ V0 a - <p v-if="seen">现在你看到我了</p>0 L1 r0 O' T$ d1 I0 F
- <template v-if="ok">" g* d1 U- R2 l! a- b$ z1 S
- <h1>菜鸟教程</h1>
Z, H/ I' K3 u: S - <p>学的不仅是技术,更是梦想!</p>
) X1 q+ _2 x8 w+ t - <p>哈哈哈,打字辛苦啊!!!</p>/ f9 z V; M' |2 L- K
- </template>2 a/ \' T4 }/ k4 ~' u
- </div>3 ?5 P$ n9 o( \1 `4 o
-
% m( L3 X$ y1 R& P' Y1 }& v- o9 h - <script>3 o8 K6 }3 \% u4 W
- new Vue({, R# r# k' Z! Z1 N: v7 D
- el: '#app',
& D2 R& l# P# o0 _ - data: {
) [! r8 L" \8 J5 E - seen: true,) `; c5 s; z$ k5 p
- ok: true3 k8 R( m, m% `! r
- }
# i$ z( N, H& ~ - })- M8 N/ L, m( J# B6 d) ~
- </script>
复制代码
0 I& \5 F& ]0 _: B6 e这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->" W5 G# l5 e, h, x1 X( V
- {{#if ok}}" c7 ~" I2 T! u
- <h1>Yes</h1>. p C9 j1 P6 @% Z) t
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
! R4 `8 Y$ B9 F# u/ w6 y0 @- <div id="app">( A t' n) E8 S* G$ w7 w
- <div v-if="Math.random() > 0.5">$ p6 W/ N, E1 r+ S* U
- Sorry1 A) ^/ j+ T! K+ T+ X
- </div>% y# ~) Q/ b. L: f9 N& Z
- <div v-else>
4 i" b7 j. X$ ^4 _& U# t, t. u - Not sorry
* S3 o* k% s* U# W# Y1 H6 V- U6 a - </div>
9 h' ~$ ]1 R. g2 Y1 A% B d - </div>( S1 S, [1 L! k7 [! J! v
-
+ i p( X0 W* ~6 {% H - <script>
0 _, Q, ]: g$ T, C" M& ?; D7 }# ~& B - new Vue({% v3 @: n8 f% v; ~3 g
- el: '#app'/ L1 e) u$ G8 B1 P
- })+ n4 S$ A3 r% t0 V+ j) d( X: M
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值:
P8 o: e9 Z# ?: V% Y! S4 |- <div id="app">1 w# [ W' o2 m; z2 [8 P
- <div v-if="type === 'A'">0 r! A7 \3 D6 X- ~) {( c
- A/ [! e& Y; `7 R
- </div>
4 R0 U& K5 v E3 o! p: [& ?/ B - <div v-else-if="type === 'B'">, p5 Y! j, f4 `1 L. N# x- n3 M
- B
. S) j/ q. y, Q- c - </div>
1 E' o' s( O6 I7 F - <div v-else-if="type === 'C'">/ e4 z( N+ K) ~7 Z- L- ^
- C
7 v% }8 J' o* f$ j, [' R) H - </div>
$ {5 i, M" C" z0 h - <div v-else>
; ]; E4 D7 ~6 F }. i& r6 x - Not A/B/C
5 U! |. J6 }# s6 w8 k# L+ ? - </div>
) U9 Q' j1 ^* h2 N/ r/ E+ }* x - </div>+ @0 Q0 n) a V
- z& x Z; a9 u: J
- <script>; {/ O( `6 _0 e7 K& y. ~
- new Vue({$ ^. `; W+ H- U; ], i' g" n
- el: '#app',3 ]) [* v7 p1 Y) X
- data: {! S: ^( ^/ Y; A u* T/ n
- type: 'C'
2 t* J$ p0 Q" {: m - }
' K- Z; c6 z$ B1 L' E - })
( l& Q# O) f3 e* w - </script>
复制代码
G' @( c; r3 n! Rv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
, }& o9 h* D# j# n- <h1 v-show="ok">Hello!</h1>
复制代码
( H3 J9 x- |: y. ^, r& E$ x
( `% v% g* s. X) G$ x& g$ z( @' h- L0 q3 h4 V3 q# [7 @6 ^; Z& o
1 A& G$ t: E6 v& y# a
|