|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">% L! v% y6 M4 J$ V" G3 I# q
- <p v-if="seen">现在你看到我了</p>) x9 V. }4 v- I G* C1 u# ]
- <template v-if="ok">
2 C" e& [( i% x' N - <h1>菜鸟教程</h1>
5 c: {% B: G4 h) }) N - <p>学的不仅是技术,更是梦想!</p>
0 z9 s- y) k# r; i. }( G9 D - <p>哈哈哈,打字辛苦啊!!!</p>" X% J3 N8 }1 ~! Z
- </template>
& t. u: N) Q2 p U1 g# ?. [1 h C - </div>' f/ e1 R& Q1 X; u: z/ G/ V
- ; F& b2 Q9 V7 X4 K8 Z' v. f- Z( F
- <script>5 L) V* S! s7 W: ?% {: C5 z
- new Vue({4 P9 p% O& k( n! b" Q J! A
- el: '#app'," [. j( f1 J- O7 j$ U) Z
- data: {
: W8 \0 Z0 w4 o- j+ v/ m - seen: true,, i. r8 Y+ m) X4 t/ Z
- ok: true
) q* G: b# l" O8 r, ^: g! O* | - }
( b8 o' c, G2 z* h - })
4 V% ~6 g/ I% H4 ]& x2 O9 c) t8 y1 X - </script>
复制代码
* _3 w6 {" K: {" d% m# W3 b这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->" D/ p1 ^) U3 m6 V0 F
- {{#if ok}}
5 B% _+ T* m0 L - <h1>Yes</h1>
. O$ A5 m+ W I! Q9 n# e# {. ^. \ - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
/ ?1 [) d* b# b! H# k" ?1 d/ B- <div id="app">) D. ~. k* @! O' y
- <div v-if="Math.random() > 0.5">: x6 k8 I# h$ A2 }
- Sorry
- ?" J/ p. }% } - </div>
3 N7 O+ k- x9 W0 m4 Y8 M - <div v-else>! ]% a( ^2 M5 c O
- Not sorry5 U$ M1 A5 z! c% \! n
- </div>$ K6 D! N+ [! I1 g' z. W
- </div>& L4 j1 O' y' V B: h, l
- " x4 {& P) f; ]& j/ }5 r# O
- <script>
" P/ U, n) S" z% B7 A$ c: z - new Vue({# |' Y4 ~% ]2 M# ~$ X
- el: '#app'% B L1 [8 m* J. B, E# u6 H
- })
3 w4 ?7 N0 }* q" `" a - </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: 7 }+ Y" V5 n: @& m5 R
- <div id="app">& }; }6 `* C! A& X! a! w) ]
- <div v-if="type === 'A'">
, @. s0 G8 ?* J/ ?6 X) O, H - A
% X I5 p3 l1 |. w6 [1 a% s3 r6 l - </div>
' [9 P! u+ j# k: S1 W2 e; u4 J" d' H - <div v-else-if="type === 'B'">
3 z$ N$ F/ L$ l' A/ \: r) L0 ^ - B4 J$ d x+ n$ U4 ^' ^, |
- </div>
, e9 P( h! j1 n! ] - <div v-else-if="type === 'C'">7 U8 ]7 S) {4 ~4 R
- C3 B( ^1 i4 j, F! h
- </div> [) w) x4 L0 {
- <div v-else>9 q& d3 \8 U4 p2 y9 I8 k
- Not A/B/C# C7 I) w5 v0 @- E; o: r
- </div>. v# A' z+ s, j0 y/ c% ]
- </div>
( A8 u7 U, o! Y- X6 g - 9 f! g9 X: u2 T( R, e- U
- <script>
7 {1 O$ f4 `8 s- e4 r - new Vue({3 Q% M( ~6 a) {8 @$ I
- el: '#app',6 m7 x2 b h3 L- J
- data: {5 m0 W; E, h( e6 \+ W8 j4 Q
- type: 'C'
5 i. G' b/ r2 S9 z: K - }' J% B; J! b9 P
- })
4 q+ g1 |+ K; h - </script>
复制代码 - b0 U* o; h, }( h4 A
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令# w, i3 M/ o: Y" M7 G
- <h1 v-show="ok">Hello!</h1>
复制代码 + E$ {0 T, p9 a# f; s
8 H/ x8 ]. D* b4 j
/ s) u8 D5 m! i3 \) ^5 C! ?/ ^" s e
|