|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">) j: @4 I/ k. O4 R6 `/ c
- <p v-if="seen">现在你看到我了</p>! h* Q/ y' R7 \2 G9 c
- <template v-if="ok">6 f) S2 I" ~5 f6 Z0 v: R
- <h1>菜鸟教程</h1>
: D% b+ V, S n8 u: Q6 o - <p>学的不仅是技术,更是梦想!</p>
: j' M4 @) D( t - <p>哈哈哈,打字辛苦啊!!!</p>! {* M5 o2 {) D
- </template>6 s* p B: T3 A& W4 ~
- </div>/ H6 p# n. Z6 }4 y5 C' q; ]
- 6 z9 M2 L n7 o9 E
- <script> L+ y% z- ?- c! |
- new Vue({) a. b$ F3 O2 a9 [2 F$ ~7 H
- el: '#app',
- J* W3 W7 p& M2 r. {: x. `) L - data: {. d& V1 a8 P) E* u) X! j; C2 v; J
- seen: true,5 b( L+ x5 R. j+ P" A
- ok: true( V" z4 m3 m7 e3 [2 ?. R+ J
- }( z3 O9 f# k4 ~
- })' h9 D( @* r X7 F4 J" Z! s
- </script>
复制代码
/ N+ z9 I6 }( k6 I2 R$ A, g这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->( O# F8 F9 E' b1 F* W3 n" ~
- {{#if ok}}6 W! K+ K P0 g8 X) N7 g( I$ T9 p
- <h1>Yes</h1>( w. v9 v6 v; v% P1 c( z5 s
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: ) y" t! g$ Z: l1 V# y2 r! u
- <div id="app">
# A7 [( y6 t) L' r5 K, y - <div v-if="Math.random() > 0.5">: `/ d( A) Z/ M& A9 e
- Sorry
' q! |4 C( }; F6 t) y& Y - </div>
/ H K2 W: s8 I( J0 T - <div v-else>
" F2 \- d; P$ f5 J - Not sorry1 [/ a: q$ ^! [7 u
- </div>
+ |! [8 Y* ~+ I! D8 ^5 \' q - </div>
4 L! P: |& ~$ n. V -
2 r- x& g9 t0 ^ - <script>/ F$ Y( Y `3 l F/ C; l/ } V
- new Vue({
! f" u& @! |) F+ D - el: '#app'
9 h& D7 Y6 c& @% E. p& W$ J9 ] - })
! C Y8 u, i: k, F+ D$ e - </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值:
, }) w( |: z: T- <div id="app">" U7 F* s- e& @: k, u5 Z
- <div v-if="type === 'A'">
: p9 i7 N8 b. |1 B6 y: d - A1 h5 \8 x, w g. U' |
- </div>
' w9 r v' Z1 \4 G. z) A - <div v-else-if="type === 'B'">' q- Q3 m: z3 k) }8 V3 E
- B
* P$ C- F1 o$ F. W - </div>4 l% m( O# H7 N1 S$ \
- <div v-else-if="type === 'C'">
, d" D* U/ s) o$ d* L1 F$ F' z - C; v8 |+ R! q/ o
- </div>
3 V4 ]1 q- [$ f/ Q$ L6 k! e - <div v-else>
% M, k U& O4 D9 |; n$ K- W" E - Not A/B/C
) n( i3 U! k/ J. \9 L1 P% j - </div>
" w& g7 G# \( f - </div>
+ [- ^ S( M8 P/ p7 O5 X4 n/ l -
1 g0 V0 R7 }* ^) _ - <script>$ N$ ~) n z) ^" y: v1 E9 ~ t
- new Vue({
2 L% s& N% R+ t# d - el: '#app',
! [3 `; w$ J4 p r! r/ L - data: {$ N! W3 z. t/ T* C+ x* d
- type: 'C'
4 a* P$ F# I- ?; u ~ - }
( {( O" h/ k$ I$ g - })
) p. X6 N; W9 v; f6 N6 Z3 S- Z% \" t - </script>
复制代码 % Y5 a5 P6 g8 x, S
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
- o4 ~1 y6 \0 _' H8 j- <h1 v-show="ok">Hello!</h1>
复制代码 * w9 {5 l$ i% I' T! @6 o: ^
. M, v. u; R& I5 i$ o
: v; `) w0 L' w: J* }& g, g9 s( r r
|