|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">6 m% l1 D7 q; g( j4 B1 F$ `
- <p v-if="seen">现在你看到我了</p>
6 j0 {- u1 B$ R. t - <template v-if="ok">% I/ @5 f& S$ o& }$ A3 u
- <h1>菜鸟教程</h1>& B. ~* M4 i0 m- O. u% G
- <p>学的不仅是技术,更是梦想!</p>
3 J2 }4 {$ b7 M+ J+ j% y; N7 q4 c - <p>哈哈哈,打字辛苦啊!!!</p>: @# x8 @1 \: |% S* Y
- </template>8 T/ G) u7 F4 L- D; c* b9 _
- </div>
5 C6 F, I2 m, V: _3 \ -
; Y* m" }' Y8 B. C' F& L0 o% \/ S - <script>4 X& ~ m. Q$ X
- new Vue({! H1 w. a. g0 V8 Q
- el: '#app',3 r/ ?6 M1 }8 \, B8 x
- data: {
* h4 H4 \# z0 h+ H' H - seen: true,
3 V+ b" x3 f5 `# L: ~! E - ok: true# d t. z& i8 {: `8 x! c
- }
" j0 ?. s; L- t7 v3 S" |( P' | - })
% M, x; V$ o& q0 T/ [+ g4 j' K - </script>
复制代码
0 R9 N1 B9 m2 j- L* M这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->3 |% w# H, c# R2 K4 a$ M" V! y
- {{#if ok}}
+ q. |4 p* b4 v# ?& V8 \. p - <h1>Yes</h1>' j8 f: O4 W! u7 j( i+ K2 }' w. B
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
3 _* H5 D* s M j4 w- <div id="app">
2 |" y3 _( k/ ?4 R - <div v-if="Math.random() > 0.5">
3 {1 p8 K) i3 Z: C - Sorry$ A0 w5 W Q3 [8 S- }! f
- </div>$ d0 h: H4 x- M5 L0 m8 g
- <div v-else>
+ W I" A; H9 g+ @ - Not sorry
2 ?. u% r+ i1 G$ ?9 {4 Y - </div>* M; j, y8 J8 c: `/ Z
- </div>
3 W, u" ?# I8 T$ _, g" \& Y0 F -
" b3 O3 z" S" ]& ~3 h7 t - <script>7 U/ Q5 R; z: l" g" K- n
- new Vue({( ]4 b0 ^/ `9 ?" f7 R, G
- el: '#app'3 h( l5 o% ^$ R3 S/ ~
- })
6 Q( G# y: c1 X6 E* ?* t0 ? - </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值:
( R5 u1 N, R! E' ]# \/ ]$ J# T- <div id="app">6 V- T4 C& X0 R: E+ v
- <div v-if="type === 'A'">
& s( B2 W' P+ f/ \ - A
. B, W f& B, c: U; Q. i3 Z# L - </div>
! V6 d* l, L' H2 T - <div v-else-if="type === 'B'">; N" o1 V' P W& q8 x1 B
- B- @8 K+ K" o! f2 z1 d* R8 ^ Z+ e" D
- </div>' n$ K6 g2 `- F0 t5 }2 r, t$ C
- <div v-else-if="type === 'C'">
8 q- g1 L9 J2 D& J( k# J; f - C# E( V! E# y" Z6 _. x! `& _" W; z4 F
- </div>
C$ z$ I8 { I- `5 c - <div v-else>. L- Z6 Q% J3 l6 l! P4 I1 v
- Not A/B/C: \" x' }" I( M2 V9 C
- </div>
6 c% q! d# a- o" }! F+ g - </div>
6 M( D8 T2 N- C0 e! |' h4 v2 t - . \ J' N4 A& ] S T2 E
- <script>
# d% \ s, w7 m) g - new Vue({
( _: i3 w' ] v e6 F - el: '#app',
% T* D$ k5 m) }- R" E7 k# o, v6 B - data: {' R5 C( o2 J" k( w M
- type: 'C'
/ l* M& m; |4 H+ ~0 B - }5 `+ @7 \- W& u" S+ h; v/ P$ E
- })( ~# H7 ~- n: M+ c- |
- </script>
复制代码
! @1 q; l( r( u+ E3 w- T) Wv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
& B, h; X; h3 N4 y2 G- <h1 v-show="ok">Hello!</h1>
复制代码
6 g5 |& R; ^- g, t; U
) S5 b. C, ]1 a. m6 {$ i, n# I) M- ~9 E. e- D. R
4 K5 s9 N* R& U9 Q% T: z6 M
|