|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">1 r. D2 A# x' L. g
- <p v-if="seen">现在你看到我了</p>
4 @3 }* e# C% y1 S" X0 a c) t - <template v-if="ok">0 U4 F; X9 J( n; F1 I- K8 P- @8 D
- <h1>菜鸟教程</h1>, ]4 G9 L' \; K1 ~! c
- <p>学的不仅是技术,更是梦想!</p>
' g4 v* x& K/ R$ q; _& w% q - <p>哈哈哈,打字辛苦啊!!!</p>6 q& ?2 b* a# R# \3 E1 f) _" q) k5 b
- </template>
; \( N2 }4 Z" b - </div> O6 ~1 I; b5 L: E7 S0 Z+ x4 u' E
-
) d: I$ k+ D$ J6 p5 W - <script>
4 V# e/ }; @* e. _( d - new Vue({
+ t1 e( r# T" B; D& Y4 f - el: '#app',
# o! `. S" }7 z: [ - data: {
* s' L, N0 n; j( a! S: Q0 z: ^2 v' u - seen: true,3 D9 b7 e. g* w5 S$ U
- ok: true
! ~9 R4 G8 T. j - }
* T; R; p8 Z) T$ }, J# t - })
y e" h7 m3 D* q b& b1 n - </script>
复制代码
: {1 N. W1 y* ^6 M+ |这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->/ ?* Z! @. p B) Y2 G& {
- {{#if ok}}+ X. w: ~* v, |
- <h1>Yes</h1>
' V! a$ N3 n) n5 C- N( d - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: 5 ~2 ^3 T2 D7 f b
- <div id="app">6 c! ~2 l$ a1 x% r9 g& D3 }
- <div v-if="Math.random() > 0.5">
0 T9 w$ x3 v1 y% r1 e9 f - Sorry( B C! A6 ], C! p5 j6 s
- </div>
! ]; B' Y" p8 k4 h) S2 D - <div v-else>
' c" y! o3 I } - Not sorry
* G9 q j3 R, X - </div>
5 F' m) l+ h% i+ W7 G7 w1 { - </div>2 U( N3 e& |5 F' R3 d
- 1 M. X9 F8 x9 i6 J5 W; b
- <script>9 d7 O" P! M& R- G, Z* @. [
- new Vue({0 [, q6 S" _/ ^! k2 z1 _
- el: '#app'0 W* D* V5 q9 c% T; [ M
- })7 |9 I# t* d- M3 g; d1 h2 A
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: ! E1 A; k! _( `
- <div id="app">
9 L) x& W% ]0 j8 s9 Y' h) U - <div v-if="type === 'A'">9 ?& k5 d1 Z0 Z
- A
2 |& z6 v2 ~6 A' e, X$ R - </div>
1 }5 {1 W( K; c( Q - <div v-else-if="type === 'B'">4 U- Y2 b5 `! _$ q3 a$ h3 f @
- B
! E/ I9 K7 f7 d - </div>
4 r8 J$ O* n6 Z) U8 L( Y4 E8 Q - <div v-else-if="type === 'C'">
5 n- W2 {4 F, E8 s* Q% c - C
' j. H3 k5 ?2 ^; L - </div>3 z: y( S+ L. q/ G6 b$ n& u
- <div v-else>
5 K5 W5 }3 g3 W- z' G0 A* C) a - Not A/B/C
$ G3 F8 T" w3 T# x9 Q - </div>
6 d, @6 o% V3 D; Z: y3 l8 r6 e - </div>1 y" u2 x; W3 M7 Q& P6 p7 z/ m8 p
- E' |! t5 w3 p6 ~( _( _+ N7 {
- <script>, a& o' Z8 \, X3 R3 }# m
- new Vue({
- D* D; Y! n/ P1 F1 j | - el: '#app',. f, P. _& A" y
- data: {
5 P" }! T' _2 [ - type: 'C'# {! C0 q" x# Y0 K! H0 m7 I
- }
Q, c& t( a( R5 { Z# }2 l - })
( X; L+ G- L7 @/ Z4 t+ N& E - </script>
复制代码
/ L$ F8 u4 \) c O! ]v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
( F3 m4 c% X7 z2 l- B- <h1 v-show="ok">Hello!</h1>
复制代码 4 [$ C" Y$ @1 Z
2 ]! P5 I- \5 ~8 V6 X9 ?$ m y+ J+ m# H
* M* x1 d& u9 r0 Q) G- I& i |