|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
( `2 n% t6 ^' X0 U - <p v-if="seen">现在你看到我了</p>$ { H: N2 { y1 A6 Z# X6 F
- <template v-if="ok">
' J2 N1 h. \* x& o0 m - <h1>菜鸟教程</h1>2 r4 O' a4 ]* o8 S0 H
- <p>学的不仅是技术,更是梦想!</p>
- d5 P9 H5 u% E3 a5 ] - <p>哈哈哈,打字辛苦啊!!!</p>
. Y5 L, P3 @1 O - </template>
4 V5 X1 @0 {7 c7 ^) ?. [0 S - </div>
) i# i" J4 R/ f% w+ r9 D! f -
8 n6 B* j2 g1 S1 p - <script>
7 q* g" k2 { j( c$ T! t6 _9 N4 c - new Vue({& \ M1 p* A$ n8 h- n' a& X
- el: '#app',; ?- g6 _ E/ T K0 a$ k" \0 o
- data: {
9 l* c1 O2 B; H3 d, r - seen: true,4 B* P5 z r9 Q9 ]' i9 P4 x( W
- ok: true8 d, Q; v. C7 Q0 y; V
- }3 f. C' X! i! \5 H
- })
! Q" ~ X% i# Z# Y+ F, [ - </script>
复制代码 ; h8 @: k; o4 M& v" S
这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->5 J; m1 m7 J1 W6 ^/ d; T! D% h
- {{#if ok}}
# T8 W1 a- s. C1 [* a% x - <h1>Yes</h1>
( D& Q6 Q# z8 x4 {5 ?+ X - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: " m. Y. V. w5 E0 a
- <div id="app">
; z# X. y& j2 u. T3 Z - <div v-if="Math.random() > 0.5">
, G1 P1 |. w6 Y7 b7 u7 b# B# D - Sorry
; n# L1 i, Q8 h! V" T" y - </div>5 ]0 Q! v! X: ]& L0 {; a U( ?* R
- <div v-else>7 R4 d; w; E/ K7 I
- Not sorry' x! Q2 o/ L* \5 e. ?
- </div>2 B4 r- _# ^/ T: {- T/ G3 K
- </div>
7 i; F5 G7 P" N N( A -
: P2 S% R8 p4 t+ w5 V' z - <script>
# m1 {9 C2 P. m - new Vue({2 H: [# a- ^ n9 K* F
- el: '#app' |2 f1 x1 |& B" M- A
- })
( | X/ F" F2 l' R& C' X0 |- y4 E$ V - </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值:
& J/ j# y' R, s; B- <div id="app">1 t, S, p9 o2 H. t0 y( ]
- <div v-if="type === 'A'">
* ~5 Z5 T5 G6 N; [1 l - A v7 `5 e8 y- e0 Q
- </div>
4 P) o) M. o7 S+ i2 d O+ ]5 y - <div v-else-if="type === 'B'">
4 I/ S6 P. |9 `6 s& K! t - B; \: {# s! F+ e
- </div>
( Y9 n( S1 u8 Y8 N! e- t- y - <div v-else-if="type === 'C'">
) g4 r# C0 L) A7 Z* \. ` - C! k( i* o6 n* S. v
- </div>; P$ U, `- e8 o# ?3 P% [9 [. g
- <div v-else>; k1 Z$ k4 b9 F
- Not A/B/C' o6 L! ~* q- Z' ]8 r3 t9 X! w" ]% n
- </div>7 V$ k& @9 u+ ~5 F0 L
- </div>, K$ t4 }4 k) m4 J
- q1 \3 d& K6 l7 Z: o# _
- <script>
6 p- J- W$ U e2 L4 p& [ - new Vue({ E: a- X# i1 a/ Q
- el: '#app',6 H$ p# E$ P m8 p
- data: {
+ j9 u0 ^, q& b' s2 v3 N" C3 J - type: 'C'' ~4 |: D# I0 M2 p* I: S% i% b
- }
% ?0 l/ z) p% B - })& o' k" L6 L# H' T6 j
- </script>
复制代码 * ^ W, N) o. g, k8 N0 A/ [
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令$ n7 `/ g9 I ~3 Q0 u7 C6 M5 B5 }
- <h1 v-show="ok">Hello!</h1>
复制代码 + T H1 S h8 r/ ^* B
1 @" O2 p0 f& X. [% f' h. I
* b# N s) \5 `3 K) r# v" A9 m2 F" g' M/ I0 p
|