|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
# [) n" c1 H3 l+ G6 } - <p v-if="seen">现在你看到我了</p>
! G" s7 Q' ]$ D - <template v-if="ok">" G4 S& ]( v4 o# y+ ]3 S2 @' ~
- <h1>菜鸟教程</h1>( _% ~7 L/ x) c; r4 C
- <p>学的不仅是技术,更是梦想!</p>
8 K1 {. i/ `% L e" g1 p0 O% z; ~ - <p>哈哈哈,打字辛苦啊!!!</p>
5 X/ a. n* ]& k, w - </template># F2 t2 v; b1 f! h$ Q
- </div>1 X5 N4 p8 t3 S4 D
-
, S# k( k2 \4 a' w3 i1 G& p: A2 n - <script>6 K, K8 Z# `1 @/ o# C
- new Vue({9 p, U7 s% q$ W! j
- el: '#app',
. Y5 B( Z8 R2 e, E - data: {
: c& P; I- s1 P7 i - seen: true,
. c+ M" Y) h9 E2 Q3 C" d - ok: true2 f+ G& L, {: I9 X, T# \
- }/ q6 |$ O- u, F
- })0 U' q5 x- X# x- G0 w
- </script>
复制代码 7 F) j" ^4 M# B% R
这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->
# {% D) z, ?2 D+ [) h" o0 y$ r7 c - {{#if ok}}
0 D' l9 G$ Y7 B( u" t. F8 V - <h1>Yes</h1>3 B, ^. L+ A4 h3 {1 S
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
1 s7 ~/ M7 b& U0 J' o! {- <div id="app">
, q( r9 Z. C' X$ g! ]$ Z3 \" r - <div v-if="Math.random() > 0.5">% C4 T4 u1 w5 ~. t/ ?5 U' B
- Sorry
, ?9 q( R% F, Q' ? - </div>
/ V' i! x5 l0 O - <div v-else>8 N. V8 |: b C/ G& L3 S/ Q7 [0 X
- Not sorry8 ~0 n3 w9 F, w
- </div>
0 S, j* p8 s: ?: { - </div>
! T$ x' |: l% ^6 d4 G: p - ( @: r) `! G R
- <script>0 G) O2 c' {) e: N4 h( k
- new Vue({
: y5 q5 h0 g b" ^8 M$ @ - el: '#app'9 P+ V E5 P+ _$ ~" [) C2 F. v0 W
- })6 b% B" o$ S* x
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: " M- J0 C3 g2 l- H2 y
- <div id="app">
( U8 _7 v7 r0 R# l# k0 R) c, M - <div v-if="type === 'A'">
- ^! ?" a: d' h3 c9 a. Z1 p P - A
3 S% x. f. x) ]1 B - </div>8 [% Y8 ]4 \9 B5 f6 _. R% f
- <div v-else-if="type === 'B'">
8 v1 B2 K! B+ q/ A - B
& P' U4 E" f' S- n - </div>- b) J( j; ^" _ B9 m. x0 _7 G
- <div v-else-if="type === 'C'">! Y$ o! U4 s w: u+ k; Z
- C
@ ^5 _& A( c1 z6 C' V) b- K - </div>' ~5 X& q3 x7 k Y, _. V
- <div v-else>
+ f# v/ z8 _+ d5 b o - Not A/B/C J* i) x) M) w$ C
- </div>
- g" U5 z6 Q0 A* V1 ? - </div>
! Q9 r& j4 u$ M9 D -
, z3 @- n+ \$ T, \7 W - <script>% A' h3 Z" J7 k1 |; _7 y
- new Vue({- I D) d2 h3 G4 M- @: ]! H, z
- el: '#app',
d8 y$ N# } c; Q8 b7 |6 f - data: {: ]/ { ~2 v' d/ z: [2 V4 _3 U" \
- type: 'C'
) V# V) i, b2 V' P. I - }
5 {: h s3 }5 p( u& |" s - })
, V& ?. {/ n1 Z3 V! ^ - </script>
复制代码 ) ?/ o% e2 P3 o. Z. p
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令( L6 i& q+ _/ }4 \% l
- <h1 v-show="ok">Hello!</h1>
复制代码 . Y* K) e+ I' R" T/ l- T4 p
9 E* c( `9 V/ I2 |
: f/ C1 i$ N% q& R9 R m/ e
' F2 E" T0 I' x |