|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
. B$ q- R- j$ m" ^4 J( O - <p v-if="seen">现在你看到我了</p>
- [9 I+ ]* I, L! c3 | - <template v-if="ok">: r/ P; ]" ]+ Y. u2 x r! J! V
- <h1>菜鸟教程</h1>
/ J5 d* i w; A4 E - <p>学的不仅是技术,更是梦想!</p>% ] ~. V" e" M( o3 k/ C
- <p>哈哈哈,打字辛苦啊!!!</p>
( R% A& m2 V& E - </template>
$ k7 `* f, a' y4 k4 G5 C G# T - </div>' K5 i( t) c; Y& y8 o, Z
- 7 ?! T5 y% i$ {! j1 D
- <script>
3 W" g9 m4 Q# d* H1 @+ a! m& W, [6 L - new Vue({' ?. w8 k7 V9 f- G( V; k' \9 H
- el: '#app',. {( ~0 j0 o- x$ Z
- data: {
" D ~% M6 C/ G2 z. a: n1 i - seen: true,
/ g: e' f& O+ W6 M7 U# C3 u/ R5 e - ok: true
6 L+ c) s& J7 w. G! h - }
1 M! t4 g3 N$ T) x' g& [ - })
2 W9 [1 y+ h: c+ X - </script>
复制代码 5 |) m" \* h& A' z% f' u$ A
这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->
9 Q8 [' s# Y! T) K% F$ w$ Q - {{#if ok}}
6 `( Y3 m$ d! F$ h. L - <h1>Yes</h1>
' f0 G* ]* p! C N/ n, Z) |8 [4 Z - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: ' ?, L) H& b& ^* i' Y
- <div id="app">+ h4 @( x. `! S! K7 S
- <div v-if="Math.random() > 0.5">
$ Q w3 y H. `# @ - Sorry
" t3 G" U! V2 k* f$ y0 Q4 r* j8 q6 q - </div>/ T, p' u2 ?: i* W9 _% V
- <div v-else>
7 q6 t5 G4 a6 H. ~6 ]/ c3 p1 B - Not sorry
7 a6 r* J5 [; c. S - </div>. M$ S$ g4 E; }" Y
- </div>
; F. t8 R: E& t -
, |: P0 n9 B+ W/ p - <script>" @1 s5 }) n+ Q* h* D
- new Vue({
1 l* F) s, ~6 {# v' a - el: '#app'
- J4 [* Z7 }6 `* Z3 A$ ] - })
7 _, ^. K+ p' _ - </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: 4 L' V' B5 I! `6 `" }5 E
- <div id="app">4 m3 c( g! m' t+ r/ @
- <div v-if="type === 'A'">1 Y8 b- s& n4 u6 H6 R
- A
* ~" d, S+ I& X, Q - </div>
$ k6 Z* X! m, G9 F0 j0 L4 f9 I/ m - <div v-else-if="type === 'B'">2 ` @. D7 L$ \0 A; G- c
- B# m% _9 ^/ R9 V) H8 p6 a; ?* ]. p
- </div>& g8 K. e& G8 r+ m
- <div v-else-if="type === 'C'">
, j3 ?3 A# l0 X3 y2 w" l% ~( N- E - C
* P( K! y) b' H" ^& q1 C4 A( o - </div>
0 W! P4 K+ }- ~; c5 Z7 D - <div v-else>) _; d3 z$ H3 z; G& `% [1 O
- Not A/B/C1 | n( J+ }5 G& p
- </div>
0 z9 L8 ^: P) S! B9 J& O1 c - </div>
1 X. B! x1 x) b v! D- U h -
+ `. ]( L, X3 c; ~' R. W3 Z - <script>
& r/ i3 z3 q* c* o. L; l+ z - new Vue({
7 t, h# f6 Z$ Y5 U( k. Q - el: '#app',* r! E3 o- [! b2 _& }: c6 ~
- data: {
# f( D, m2 D! a' x* O* w: N - type: 'C'- O a+ L& _! o
- }5 @7 p. z" @3 h# d. v, c
- }); S( l# n# s4 X) k# n3 U+ w
- </script>
复制代码
* w2 G* R |5 h2 L) qv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令5 X% F/ |- L0 J1 f% Y _) L* @
- <h1 v-show="ok">Hello!</h1>
复制代码
{1 N& \4 e/ X. c/ m& f$ U
0 f1 H) }" ]) s* Y$ K% D. p7 u! M& S/ k* B6 ^& h' {2 e
1 C; N* U v5 n; p! ~
|