|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
8 T4 }# z- O% A( P8 q - <p v-if="seen">现在你看到我了</p>( T# |: f6 g% B5 }9 S) L& D
- <template v-if="ok">
) V' b4 ?; j, r+ ~6 M8 A - <h1>菜鸟教程</h1>+ k, A( l8 h6 A& D/ z0 t' f
- <p>学的不仅是技术,更是梦想!</p>3 _$ k7 [9 y: z* f+ ?' ~! S1 _( j
- <p>哈哈哈,打字辛苦啊!!!</p>* l" ^5 x+ s& N" l! [$ z6 T
- </template>$ y9 _' a s3 I2 ]. J ?$ } a
- </div>
- R# _2 O1 t' {: c, [8 @4 w - 9 T I8 D+ S3 I/ E$ M
- <script>4 m) M( b6 d! q0 V0 X$ I: o
- new Vue({. [, D% k( A" C I* l+ D
- el: '#app',( V! s2 S4 l- ?
- data: {
" V* E; q# @9 Y" C - seen: true,; E& q9 V4 f2 O7 Y2 }8 \
- ok: true
- H! M3 S0 o- \3 r5 H2 | - }2 B5 g( L v; @) ~# h
- })
/ o+ J9 n& [0 K - </script>
复制代码
- T9 u# a6 E& i, A1 s) ?+ W这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->1 t; {2 z) S* K9 H: h( q) _
- {{#if ok}}
/ e4 m0 C& o/ \5 k; a O% D - <h1>Yes</h1>8 H& ~6 }9 [3 G6 t6 v, ]. N
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: 7 h$ j6 a9 {8 c( ~' `4 t
- <div id="app">
Y$ d) b* @3 q/ `" c# r - <div v-if="Math.random() > 0.5">: O( D4 P" H2 ~' V, n( g
- Sorry
( J1 V2 L# ~7 O+ C2 r( z k/ i+ f - </div>
/ @- z6 a ~8 K& H - <div v-else>4 ^) c; ]1 d6 v. M/ L" J( Y& _4 Z
- Not sorry
7 q4 p- A% x; M; K$ s# ~% H8 t# B0 j - </div>. b1 u; x& A7 ^1 g
- </div>
! b& V% b2 \, I5 C) V# a - - {9 a& B& X: A# V4 n7 Z* K! ^/ E
- <script>
/ ?; o N! F! u3 Z$ P - new Vue({: c1 l7 E6 t! t3 R5 R+ y+ p, y" w
- el: '#app'# Q2 Q Q# N& ~) F
- })3 H8 V$ c% G3 I( B% {" Z
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: : R: S# m) z2 g
- <div id="app">
2 \: I S% Q0 \ R3 _ - <div v-if="type === 'A'">
, V8 ~$ X: Q4 y, [, U; `: ]5 v& [ - A
7 a& U$ S; @4 x - </div>
% K1 @ X% e$ x* k3 B - <div v-else-if="type === 'B'">& p8 K4 H" H4 B
- B0 [1 w$ o+ C, ~4 `/ j" d
- </div>" Q* i$ K( H. P# G7 W
- <div v-else-if="type === 'C'">! j; a5 a8 ^) w/ Z' d
- C3 [# G0 O) F) i/ I0 E- P c0 W
- </div>
' b. n k. {6 q) i3 T) ` - <div v-else>, T: T$ x: h) _( G
- Not A/B/C
6 `# Z2 S4 K- [; Z9 M1 {& C% r - </div>
& u) ?5 g U) K7 M7 {$ { - </div>1 d0 f5 y' \% D8 J
- 8 C) p, C- q% `( N1 [; v6 R
- <script>
! M7 A, @: s) p% \" S/ I - new Vue({) E# | f- k$ B! s/ O
- el: '#app',% T! N6 w( [# R; m
- data: {- n9 X3 y+ T3 J- }" N; T
- type: 'C'" R0 c# g! s" g3 [( |! T' `
- }
2 N/ m8 C/ _2 U; r. `* S S - })
; I. g5 }1 w, v4 g( r& G - </script>
复制代码
+ D, @2 u# h* q4 k( g0 X/ j2 {v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
i6 K" O7 A! Y1 w' X2 H- <h1 v-show="ok">Hello!</h1>
复制代码
" r: A ^7 r. h/ N# B" a @4 n+ |$ e! i- F. \( {1 b
5 w. B# ?, I: E* {) [
3 D. w3 M2 i3 n
|