|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">5 }1 o" w8 U7 ^3 u( U- u# f+ ?
- <p v-if="seen">现在你看到我了</p>' h! ^; d* x4 L5 B# f. g I
- <template v-if="ok">
% C* Z3 s+ U3 {+ ]) N - <h1>菜鸟教程</h1>
1 Q2 Y: v" C' Q$ B7 \8 G - <p>学的不仅是技术,更是梦想!</p>) Y6 c2 G) a, Q6 u
- <p>哈哈哈,打字辛苦啊!!!</p>5 {& n5 L, l/ `5 B9 A$ a$ `
- </template>
7 p$ {$ Q( D" j+ r' e% l - </div>7 b& B& v* r7 f9 B# [
-
" q, W/ Q# |! ~! @! e - <script>
4 F7 j* p9 D1 A7 y% ?# V& [/ K - new Vue({
* q/ t) s! I5 I, _+ \. c - el: '#app',
- ?8 c; p- ?+ T/ O - data: {
1 j" H" T" j& Z9 k& E( F2 O: |4 g- O - seen: true,
! [# D' R0 C+ r! r$ S0 M - ok: true j6 b# m6 T, u! z
- }
7 p9 z z1 u% S - })
0 f* Z7 t5 N- S5 } - </script>
复制代码 ) q/ O( ?& j( l/ x4 u8 c1 H9 K
这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->
, p3 t$ S9 V* H' T6 x - {{#if ok}}
8 y) Y6 e3 @! w* {8 v0 C, c - <h1>Yes</h1>
! @7 U3 @% [; H - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
. [3 M' m# Q8 k) ]. M' |5 k- <div id="app">
$ w9 k4 p; e; F4 w5 ? - <div v-if="Math.random() > 0.5">& Z- w5 [. B8 `/ v- e
- Sorry: t3 L, T+ g+ [5 [# D7 a
- </div>2 Y" F9 u p9 d5 `
- <div v-else>
3 R) B' l3 `0 P1 K# Y$ t. w - Not sorry
% B1 k. M5 ^: b2 V" N$ M3 j - </div>* i7 @5 N' g9 ~
- </div>
! B$ m; ^/ }0 \, ], ~9 @- x3 O - $ T+ V, j+ k, c" C+ ^) c2 q, H* n% O8 v: I
- <script>! i3 f. t3 O" z2 s
- new Vue({
2 g9 x( Y+ F/ i* P* S - el: '#app'
* ^7 F ~0 b3 ?% i0 v% l$ { - })6 G2 S. d# V+ U
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值:
" Z# H6 j. {8 x2 O& x- <div id="app">
e5 p1 Z: }, l! X4 r% a# { - <div v-if="type === 'A'">
% j# K2 K* A4 b+ H - A
" q% }& p H, e. s5 \1 Y, R - </div>
" N" A( x! ~' l# I) w5 n7 j - <div v-else-if="type === 'B'">
4 F9 X. n/ t! x9 n2 q3 Q - B
7 K L# L! w8 F; g. y* Q# I9 m - </div>
]& e. G9 g* R: j - <div v-else-if="type === 'C'">
* c$ A* p# n+ h9 o F - C
& I/ Y+ L7 O; ]7 ~/ l6 @3 Z2 g - </div>& k* v2 C' ?* [' B4 h
- <div v-else>
! E. U1 ^& G3 Y5 [ - Not A/B/C' P; F# M6 B p z
- </div>( w# l8 c# ^+ I
- </div>
5 `8 X$ @9 h+ r+ H/ T7 `) }( L0 r -
! t. R- W( \% G - <script>' s3 p# _8 Z" X4 i
- new Vue({
# g: f% r. |' L- v1 Y4 B. B - el: '#app',: G# Y1 n( ^' E# j+ f$ _9 S
- data: {' L( j1 B: f! j# a; T
- type: 'C' Q2 X8 \1 d; n7 a! h+ G
- }5 i) H/ v+ l: z; _, M6 \8 {
- })$ i& {4 {: Z& _
- </script>
复制代码 0 \& w; w7 y4 L4 f3 O
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令: Y$ p1 p' V& B' b" U# |
- <h1 v-show="ok">Hello!</h1>
复制代码 0 e& a4 [; w, P9 v7 t. G: u8 R
8 _. S! e( z0 T4 o
+ l* e% _7 z$ U; a, W- b$ A( _: _9 V' L; A3 O7 u
|