条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">4 i6 \: Y8 q6 Y2 ]+ \
- <p v-if="seen">现在你看到我了</p>1 O3 |0 o) D6 a! `: u) j- L) h
- <template v-if="ok">
6 x/ I: B f" R, n9 }8 P - <h1>菜鸟教程</h1>
0 E. s( Z' ?/ L) R0 C$ y3 a4 q( c - <p>学的不仅是技术,更是梦想!</p>
2 i2 F1 E$ Q) D - <p>哈哈哈,打字辛苦啊!!!</p>0 G) h& _) w( k" d. F
- </template>: q2 |& A* }) ^+ }* r- V- _
- </div>
0 Y- [4 e7 r4 o8 l) [ -
3 O$ c2 W* ~3 @8 `! @" u - <script>
1 C1 e ~' ^3 Q; F3 ? - new Vue({
! Z1 \7 s. Y) S# o' D$ V! B; c - el: '#app',
# W3 ~7 S" [6 i. c# B2 [* W: P K' k- p - data: {
; r/ p/ T# q. V) C# f" y - seen: true,4 h) T8 A* E) ~: c% I9 n
- ok: true4 a4 Z d' t+ j* F6 a( D
- }; F0 T, n3 [/ T( \
- })9 I4 `- t; {3 [" M9 L9 q9 P
- </script>
复制代码
8 U; ^7 c% j* V( B- a) Z这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->$ E, I, }( O' O" m& R0 o, ]# p
- {{#if ok}}& [; V6 w+ Y( |9 X( W G+ ]' e" U! H3 y
- <h1>Yes</h1>
! h: z% t2 u, |. `! T6 t4 f% F7 h2 S( u; C - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: ; K0 N3 p5 X. @: O0 K2 O
- <div id="app">
, l. k) E3 w* j5 b* H' d* B4 s% k' |- z - <div v-if="Math.random() > 0.5">0 k, t9 p$ ~9 T$ W. u0 H
- Sorry! }% \8 Y! ?4 D
- </div>
. _3 g7 _7 M$ `7 C1 V5 D# H - <div v-else>, ^( u2 N; A5 l; V8 V
- Not sorry
7 ]. o. x6 P4 @$ M - </div>
+ x+ L/ A* j [0 C. u: N1 M8 p/ V: m - </div>
' n; l7 {6 h) N! g* T* o! v - ! g& E! ] ?0 X7 J$ X
- <script>
1 p7 j: ]. b6 V - new Vue({& W$ L3 @$ K' @- ?! p
- el: '#app'0 Y8 F) l$ {) U7 Q5 k3 ?
- })# A1 ?: g7 p; r8 a* H+ H: n
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值:
\8 G, V! I- T6 w& p. A: Q7 A" y- <div id="app">: U; T6 V8 {3 l& e: M
- <div v-if="type === 'A'">' U; T( o, R( m6 ?$ R7 V
- A7 M% W" A: k# d: M/ M+ t
- </div>8 n) y* h- g) {5 i G
- <div v-else-if="type === 'B'">
, z5 n* U( |) x - B3 J5 A8 u( X% J! L# `
- </div>
# n' o# Y3 L5 d5 f. j; h - <div v-else-if="type === 'C'">5 g$ A% Q7 c1 A6 g" U. ]
- C
" P; l: l* }! f7 `+ ?6 ? - </div>
9 T4 I! }( G3 G X; s; c0 m - <div v-else>
0 V! o) s9 ?" r' V* e. J( [2 Y - Not A/B/C
) y, G/ i6 i& N8 k( E2 s* W- O/ S - </div>
8 v# u; W: C) E - </div>" s @/ ?# t% a& P3 u7 o X
- ! g8 T- w' t" ~) J% A, Q
- <script>
0 r( b: Q) ^9 O6 u1 I - new Vue({: W" Y& l( q' x$ C/ L
- el: '#app',; @' x$ T% P: {9 ?
- data: {7 b5 n7 J, K+ G$ G
- type: 'C'
3 P9 \* l* }$ D( j) J! W; T& d) ?2 U - }& N& {/ g9 U( C; J. i! c$ C
- })
+ ? Y1 x% [# ?7 D) \9 N" I - </script>
复制代码
4 a s! K: L' kv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
5 B) v$ `6 \6 R: ^4 s/ S- <h1 v-show="ok">Hello!</h1>
复制代码
# K) K& g4 c7 [- k1 l% z( h* q" r2 C6 h' r% C# n
' Y, j. A/ N' w! }4 A. F; J/ m
D3 x. g3 p- {4 a- Y9 g; X+ F
|