|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">/ \- I8 E5 {& V5 y
- <p v-if="seen">现在你看到我了</p>
) I$ m; Y7 K) {- c( J, E% W% l - <template v-if="ok">+ d' j, t; r7 T" o d: Y# }! ~
- <h1>菜鸟教程</h1>* |) p4 `' j, V* u! `0 F
- <p>学的不仅是技术,更是梦想!</p>5 \3 ]8 m/ k" i7 V: w8 J& O
- <p>哈哈哈,打字辛苦啊!!!</p>: d7 F( U+ M: _( ?% x. o. v9 d
- </template>
5 Y! a" U3 |8 e" T* O - </div>+ v1 f# }/ V) o, p; d8 v3 N
- ; L6 q+ C( [# {6 m6 J& N) W
- <script>
7 O- k" f0 d+ f r+ x4 ^ - new Vue({
8 E0 f8 q" l: L9 A* ^* j - el: '#app',
! c5 _3 J( `1 n - data: {
8 S7 j5 e3 L5 D( v- s4 \& K - seen: true,5 ?' I" R6 l' L& d
- ok: true
/ L, ?" }9 L9 H1 j2 _/ I3 U - }1 Z0 O' v y Z* a' ~0 t$ {5 Y: f
- }); f4 Z8 l6 s# L% l4 J
- </script>
复制代码
% j2 F, y+ C ~0 b这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->
% O$ y1 ~+ I+ U7 o$ T- V - {{#if ok}}
. ~; X5 W0 `8 g, J$ A4 |$ h - <h1>Yes</h1>
* P! w m7 t E - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
; |. @% @) ^2 L3 J1 m- <div id="app">
$ O' U4 G; o; b" q+ @% |+ t - <div v-if="Math.random() > 0.5">$ L' j) U! X; O" }( a6 r) B% O
- Sorry p/ T, i- } g$ m' H+ @) x
- </div>
2 q" b' p4 k. A9 h# P) r3 R: {# W: L - <div v-else>" Q- e+ l7 v& t( D
- Not sorry
( ^* @' E: T$ m3 g - </div>1 Q+ O! j5 Y' [( @0 f
- </div>
, H1 `7 D% E, E9 R, l3 S - 9 |, ?: a: n, i& s0 z. v2 U" V
- <script>
4 t" @' Q: ]% G. D& v - new Vue({, {# o' e. u0 G. m; ^, F
- el: '#app'8 m3 a4 [6 u+ s4 c+ d4 v
- })
) C9 q3 ?' P, r' x! @ - </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值:
7 E6 [4 C+ Z* u0 E2 ?) Y& N- <div id="app">
) D& a2 x+ \" s- }1 M - <div v-if="type === 'A'">
1 ]" k* s) W5 [, ~9 H) f - A
! f' o, r; d) O) M! C/ w - </div>/ P# ]( D6 ]# _9 k7 c7 y
- <div v-else-if="type === 'B'">
& w9 E& R, c9 t' n& B/ C - B
3 [8 B K* u. W8 E/ ?: q! c - </div>
0 C( Q5 @' h, L) C* h7 W - <div v-else-if="type === 'C'">) N: }. o4 Q6 g+ J: E% O
- C
) K" u. _ U1 L - </div>( @ j! [1 c9 }5 G1 C
- <div v-else>
5 K2 u3 Q/ W! f/ s. I - Not A/B/C9 m, Y1 x# g& j, N" L# b
- </div>( U' c- d8 n0 e6 s, h( d% Q
- </div>
# p- O l o$ [& S: O7 ? -
& l% R# [; W3 P - <script>
7 x2 c0 q9 c7 @, B$ W - new Vue({
" |. { D3 e, x! a6 K0 v - el: '#app',' _; o% d; U- F( Z) X
- data: {
, `6 |/ }8 n% b. r* O4 D4 I6 L9 r - type: 'C'4 H# Z% S% \8 D4 S+ Z: Z
- }* j6 T6 G- ]6 f3 n
- }) K; ^ C* U" L ]
- </script>
复制代码 ( U; v4 R/ w# E4 H- v
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
! N% A9 o0 V# R! \# H# U4 }- <h1 v-show="ok">Hello!</h1>
复制代码 $ B @$ [) ]% p
" l! r$ {3 D, t
# U8 r( q) K* o6 ^2 j3 P
" X c. V" u; b" b
|