|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
+ ? K. h+ g0 M2 ^ s) {3 g6 v - <p v-if="seen">现在你看到我了</p>$ z# F c& L' P0 L& f/ ]& p! t
- <template v-if="ok">, L: N" @' I' G
- <h1>菜鸟教程</h1>
/ x+ N' J& g, f - <p>学的不仅是技术,更是梦想!</p>
1 E. v$ l- s" B/ v/ R+ E4 f; Q: { - <p>哈哈哈,打字辛苦啊!!!</p>
' m1 C+ M$ M6 W/ b4 W# n - </template>6 E9 n$ T3 N: T. }" c3 {2 s) A
- </div>2 |- f; s* I+ o
- g1 C. K k8 ^8 o) S
- <script>: H9 F5 l; u; H% }- e
- new Vue({ ^1 ^8 Q5 q+ \9 h
- el: '#app',4 z9 V+ S k3 h2 @
- data: {6 w6 q; R* A' e
- seen: true,
6 d! J/ i8 b8 B7 V6 b; `' v1 G - ok: true
7 F' N5 q% b9 O' V1 P3 B7 x - }/ f' N& Y: G, T
- })
+ k" P9 n% K6 o( k - </script>
复制代码
. m9 g7 N# w m这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->) s- P$ V1 w( T
- {{#if ok}}
' m& A9 i( _: V Q' V2 e4 A. k/ E - <h1>Yes</h1>
- `9 |! y# ]# K& R( U - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
3 P7 m9 ?0 ~& |9 h# B' u; l- <div id="app">
# Q8 J: {& k, C) l$ w - <div v-if="Math.random() > 0.5">
$ K7 [; V. z5 ]' T2 p2 e - Sorry1 _" u0 V6 ]8 d x/ Z
- </div>, K. y8 N7 G, M" y9 O- V
- <div v-else>4 Q, [ n0 ?" p6 c- O0 E" l
- Not sorry
6 L0 F8 |' v. f/ L6 } - </div>) Q; o; Z4 n0 i( u) u
- </div>: v! ]& [% q- x' q* u! ^* @% S6 ?0 _- n
- 8 w0 ?9 c& S2 G& `
- <script>5 F2 N c' G D# T
- new Vue({( a+ ~) Y- P' r! ]- t1 t
- el: '#app'
% N; o- p+ h$ G: `8 E7 L - })& l1 K2 T) |( j5 c+ y! s0 u8 D
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值:
& _" v) U) l! j; {- <div id="app">: p; _, m9 k( `. r5 p
- <div v-if="type === 'A'">" g5 ]" i1 Q7 `; k4 z- L4 }
- A
7 Y3 U, {$ X2 o) f9 ` - </div>- F) s4 D# |. s% `; ]4 H Q2 ?
- <div v-else-if="type === 'B'">
6 p$ z4 F1 x$ H2 R' l - B/ J. q2 X' o! p( v3 |
- </div>0 w* I9 e2 g8 c3 F& j& F+ H; C8 a) S+ @
- <div v-else-if="type === 'C'">
* {) B; T$ R, P; b, x- U1 Z$ A - C
. H, f/ y5 X4 w( M5 O2 A C# X - </div>
6 Z K+ V" p& o - <div v-else>3 ~/ ?5 {4 v$ u- P% I
- Not A/B/C
9 H$ ^/ ?! c& Z! \3 f8 l1 a - </div>
/ d9 e, U& k8 Y) d9 r& M1 t - </div>; N8 b: O+ D0 r' A$ {' s
-
9 k7 X+ `- K8 {2 {; ] - <script>
+ r( v. R3 C) o# J1 H. X. Z - new Vue({
9 U7 Y6 W- y4 ~2 t4 A* T - el: '#app', F7 B# L4 a2 j/ W% k
- data: { {+ D, r y3 `
- type: 'C'* X4 c( ~6 \4 n/ n; ?
- }9 S# u9 n5 a& h7 i8 u
- })! d2 m4 t6 S, X0 p D- a% O
- </script>
复制代码
; d$ k& p i0 \. f; L( F% f/ dv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令7 Q" {$ x5 x1 s% k0 x: f/ L# W" G5 r
- <h1 v-show="ok">Hello!</h1>
复制代码 8 l* s J3 s( [( `' ~
. J: i! D, V5 A9 K1 z
4 f$ p& E9 |5 ~7 @9 e+ ~; Z0 Q$ w% g# ~) T0 N9 r
|