|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
" y& a* E4 v7 L - <p v-if="seen">现在你看到我了</p>
( m7 J, e2 |% ]. b& s - <template v-if="ok">
1 K! P* x3 d" R3 R, S2 X9 J - <h1>菜鸟教程</h1>
$ E- J8 K, |- N8 O - <p>学的不仅是技术,更是梦想!</p>( T# d3 ]' x" \% M: [- q' M E
- <p>哈哈哈,打字辛苦啊!!!</p>
% Z, f( s# {4 p) N0 Z. `3 n1 W - </template>+ e, x2 `; u- N* X* h
- </div>
6 z7 y( D5 G+ T% }- T - / a- h5 D) T, A# M! r
- <script>, z2 B ]# T: B1 Q* g
- new Vue({3 K0 Y7 l: G2 H/ w' l0 G+ u. {4 l% @
- el: '#app',9 [2 }/ e) C# b
- data: {
. E5 G9 ~8 [, \ B2 ~' x - seen: true,
B7 j5 G8 N3 m" w. t8 K - ok: true. Y' Q6 @, t) d# B6 H
- }* Y( r- k* m9 b0 H/ g
- })2 S9 Y( t9 V, E4 j; {, Y, p$ U3 A; `
- </script>
复制代码
! h9 _. Q6 v2 S这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->
& i) M$ X+ T+ a }4 J. x% q% W - {{#if ok}}' g3 J, W; ~; N2 m2 [: a8 i3 [
- <h1>Yes</h1>
% Q. h; ~' `8 d% R) M - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: , l3 i$ X2 b# F0 G0 J2 e
- <div id="app">
1 p/ U1 o4 H9 `/ }% o: v - <div v-if="Math.random() > 0.5">5 P- n9 y+ j1 r/ W
- Sorry" g* P+ N# s7 t3 a# U9 t
- </div>
4 ]1 A) v9 R+ O: u9 ]- Q" S; X - <div v-else>$ c) D2 w5 n) V g/ i
- Not sorry2 g9 {& A# g: e% O% x, C% n ?( S
- </div>
/ h9 _* f, x( _8 x( ?* f# j - </div># {! I( r- t6 Z4 ^; c
- 9 u( v, a: \, z$ x2 X
- <script>
0 E6 f& C0 p& Y7 a1 S5 u - new Vue({
$ i: ^' ^/ E$ Y' v - el: '#app'/ r1 z4 ]9 P3 @9 x! ], E4 q
- })
0 {" H5 b; g# A3 z: h3 _ - </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: 7 X. Z! s3 n8 H. F! P
- <div id="app">
' P" A5 b( ~8 j7 u0 @' W - <div v-if="type === 'A'">
' v9 Q9 a' I' U6 I$ x9 n, c - A$ V7 w% T, A# M3 c$ p& C
- </div>
) ?, t7 v" j: V - <div v-else-if="type === 'B'">7 W% e( x' [% u" E
- B
3 Y: n' F5 s+ W, M: y - </div>
: d% h: K' N- ^6 J) l - <div v-else-if="type === 'C'">/ h( F C' \3 x9 E; m
- C; F+ u3 v _& U4 B! i) G
- </div>
% P% e0 N- J& o, @( {. ]* a; z E - <div v-else>
" I8 z" R/ l% K1 v5 G1 l" y - Not A/B/C
4 p% N& N! j! q% \# Z - </div>- q- s0 J3 c; ~0 Y6 t4 o
- </div># ^& D. X0 W/ K
-
" A- o; \ {) X/ C$ ~ ]+ o - <script>
/ g4 Z, T. G: X) A' h - new Vue({4 X4 ?; w) m- P) e4 G/ r
- el: '#app',$ j3 f2 @, {; R, g. i+ @
- data: {. T. B: A# S* E( V+ C$ w) }1 A
- type: 'C'# ]8 g# M0 D$ V2 S
- }
4 o* p& s* t v - })7 N: A. A- [$ F. U# H3 ]
- </script>
复制代码 ; k! [5 Y' }6 r4 n8 L$ g
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
! p& [% z7 L; i. O F; b- <h1 v-show="ok">Hello!</h1>
复制代码 G2 e9 V: W9 l; O
) ]; z3 l0 r* J! t( N( t3 U/ J
) H. h6 a4 a& ?
. v& T3 Q$ L! a |