|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
8 t* B1 B% J/ Z8 f! G/ }" X$ m - <p v-if="seen">现在你看到我了</p>
# A5 V' K- ~. Y6 M7 q* K, \" K - <template v-if="ok">
, \4 B; {5 J% w# z% E9 _& E - <h1>菜鸟教程</h1>' c7 j( D& G! k; N3 Q
- <p>学的不仅是技术,更是梦想!</p>
( i$ Z2 A* C2 [- f - <p>哈哈哈,打字辛苦啊!!!</p>
1 N& w. D5 t+ ~9 \* t - </template>
- S" S) Q. |8 @1 Z R0 g" f - </div>8 D5 i: b4 H' Y" w. M6 v# ]
-
: ]% E0 I5 U$ d( O* W - <script>0 c2 K% [( }6 j# l4 k7 g& M+ i
- new Vue({
. k( Q1 L( ]! S - el: '#app',
- b6 E3 f( _) O9 w - data: {0 U M* ~$ P6 Y3 v5 w m0 s) V
- seen: true,
/ p* h/ D+ \) _7 D v- l - ok: true ~* q! t2 V; U, ~! }
- }* {1 Y5 D, E6 |8 B5 T
- }). ]* K* K5 h: [3 [! L
- </script>
复制代码
* K# ^. [8 ~# ] @, V4 }0 J( M4 `这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->- E5 k. i6 e7 l" {5 B1 a9 z
- {{#if ok}}
+ [$ {( q6 y; z - <h1>Yes</h1># U4 T1 A& E x" D# o. c' G' o
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: 6 `2 F/ D4 S! ^ I
- <div id="app">
( v! p& ^. f& ? - <div v-if="Math.random() > 0.5">
; G6 _4 S R# x* ] - Sorry' k, B8 ^" _$ {8 @9 X
- </div>0 h0 t- w, R# D6 I! \
- <div v-else>/ D5 |* t5 P: q; s) D. E
- Not sorry+ ~" ^8 o0 H2 | \; M
- </div>
: c8 ]2 O; u. n4 s! ` - </div>8 S: w( S+ P1 `. f+ E
-
$ X1 [ v, ?6 Y - <script>
^3 ~! [& U7 C- \6 B4 @ - new Vue({# I/ F" M4 r$ x% G
- el: '#app'. `( K. x+ ^: ~8 q; m, t1 p
- })3 |7 @2 M9 ?, ?- A
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: - q, t: R2 u/ h U+ z4 w) F
- <div id="app">
+ e0 N" W' M/ d - <div v-if="type === 'A'">! a$ ?% ?4 I; X
- A7 w' }7 n; u, N- o, {
- </div>" p( {5 s' V8 `$ G* @2 q% n2 L( h5 s
- <div v-else-if="type === 'B'">
* E2 }1 m1 f6 g, O9 p& I - B4 a( E' [: ^* L* d8 d5 t! l# Q
- </div>
1 u: p& o6 F: r7 R4 k9 w - <div v-else-if="type === 'C'">
% K" r/ y8 r( a' p* l - C
4 O: ?$ H2 v2 i+ P7 o - </div>6 ]! |- ~) H" d7 M/ J- I9 W# \
- <div v-else>! x5 H5 b& J# X. i
- Not A/B/C
" w3 A% K3 d3 C) Y7 N. Q$ d - </div>3 a- A! k6 n# d% b; Q& Q. z+ T9 j
- </div>
& q& \% H$ |3 W$ X - + K. ? L6 r. ^ E2 B ?# G
- <script>* f: ` }4 }* E
- new Vue({
" n. `: J( U8 h1 Q8 ~/ z - el: '#app',( k4 J2 ~5 c7 L: S
- data: {
3 K4 X6 {# D# i |9 F - type: 'C'
) Q+ b3 |. T* a2 J. r5 |9 ` - } G$ w' H1 Y- s
- }) M5 k2 k a, W
- </script>
复制代码
* r( c8 C \$ U$ L$ Y$ Pv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
- C. C Q& S Q, P) B- <h1 v-show="ok">Hello!</h1>
复制代码
6 Y+ g2 Y! F, e( J' P/ T# ?" d$ g. {6 _$ j. }" i' f
1 V( M, u- l& F
- i: h/ G1 t2 h |