|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
/ C! I& K3 o/ `& k4 x - <p v-if="seen">现在你看到我了</p>
: C0 ]' C/ k. A b; q J - <template v-if="ok">
4 S' }( M$ D& w0 j - <h1>菜鸟教程</h1>/ y6 H* R$ M# ~0 L' H
- <p>学的不仅是技术,更是梦想!</p>
* c' j4 y/ h3 v - <p>哈哈哈,打字辛苦啊!!!</p>
; w+ R5 `/ Y5 m, L: l+ C - </template>+ u B# Y: P# k: d' ~8 U# t
- </div>
% j( M; a3 a& n8 _" |. f8 c -
* ^2 E3 B9 }( V8 X. A% ] - <script>
2 e! k4 ?* ?% _- P( c1 Z. X: D - new Vue({) K) G* X* r) S) ~4 ?% u/ P
- el: '#app',
3 E& |& y" o# Z3 }1 i- m. h% Q: H1 w" x - data: {
1 H7 o/ s# v9 n1 M - seen: true,
) L. Y) t3 b# A, ? - ok: true
* n, @' L3 F% t+ } - } s( W: E! ^9 T( S2 w/ S
- })
- x) d; ^; y/ Z/ g$ K" P3 z5 w# \" r - </script>
复制代码
- p3 H# x3 S) ?( H( l$ G* n9 H这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->
+ I4 ?3 T6 x# E2 n& c - {{#if ok}}
! X: y; n& d% V! \ - <h1>Yes</h1>. k' t9 k% f! \8 M. m* y- m" [
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
* W, _: K0 }. c) l% y+ D- <div id="app">% h: ?; E4 P5 h/ W1 ?) K% T
- <div v-if="Math.random() > 0.5">
: r4 z! w7 B$ I0 D - Sorry, y* E5 ~0 ~5 t0 R
- </div>8 D* K K# N9 q& m1 B6 s3 U5 e
- <div v-else>
0 ^2 |" U. t, l$ ^* N - Not sorry4 e0 H- P8 l* K
- </div>
( d8 V) O$ l. P# D7 q8 Y - </div># j5 L% K$ F" J) `0 r6 C
- & ]9 k4 R$ M, @/ B$ H
- <script>* w# X- b+ k4 R
- new Vue({
, a$ }+ A: S; R; K+ m; |0 e+ @ - el: '#app'
0 G1 p4 r; v* D1 T3 \ - })/ ^, N. N$ ]: E# j
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值:
, X2 y+ Y# t7 R0 V6 l- <div id="app">: a, V( M5 t; G3 ~2 Q- L& s/ ] i3 T
- <div v-if="type === 'A'">
# V% G3 D% U9 j6 v - A
6 `! a3 P/ ^9 {1 V7 _ - </div>5 A$ q, c" Q" R' ?, [$ b
- <div v-else-if="type === 'B'">
* a% H$ y7 k# I# v* m# s, K; [ - B
8 C8 K4 v6 j$ y; v: m. s - </div>5 H1 n f4 n8 U
- <div v-else-if="type === 'C'">
& O/ m; |/ t' R - C
& }- A8 n' G: m) X$ B# q - </div>* }& J* m+ ?% z* G
- <div v-else>
% }# N6 l* @4 _( I9 n" l/ O - Not A/B/C
# I: B2 w% z, R9 G b T' r) D& { - </div>
% i0 y0 N6 @3 |4 U6 }1 l% e - </div>
3 z8 Y* ^/ _: y2 G8 l6 R4 p -
0 k( L _. l [ - <script>2 h) [ }) T. g; n( f! w1 ^% [- t: _
- new Vue({
8 O3 a1 Y) D8 D( |/ \1 j - el: '#app',+ `0 y: k5 W3 G; T
- data: {9 v. ~4 M( s6 q! y: d, [5 F
- type: 'C'
; {5 c* [- @7 O - }
1 A% A7 O% O0 z3 |& g - })' b& M, i' ?3 g
- </script>
复制代码
8 k4 u0 b) W; e1 j8 F7 Xv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
0 D1 k8 @+ T3 d- <h1 v-show="ok">Hello!</h1>
复制代码 - g3 k( _; D$ B( n1 X; Y% D9 Q
' i7 O8 ?9 p: U6 \
_7 M8 D9 |6 J, |& y! }+ f+ ?" ]
" g( V+ y W( A# k9 q |