|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
+ [ o# }- H2 \. h% N j5 q) |! ]6 z - <p v-if="seen">现在你看到我了</p>
5 M9 [4 t! q9 k9 ` - <template v-if="ok">
+ R, I, F+ E7 T/ l - <h1>菜鸟教程</h1>
! Y" g1 x5 C7 ], h2 P. z - <p>学的不仅是技术,更是梦想!</p>- S( C* o# U8 d- P4 W" w/ E
- <p>哈哈哈,打字辛苦啊!!!</p>0 j1 V% v$ {, [% ]
- </template>
+ M% X' s6 ?9 e s - </div>
- d1 U* c# C1 ?. E8 q! N -
5 p* f; x: f$ M& K - <script>. a4 R9 e1 U. B2 x# y
- new Vue({
1 r$ F8 ]" w& s$ ~! l. \* e! R - el: '#app',' k7 E8 c Q& x
- data: {
4 F1 l$ Z# ?1 \0 g - seen: true,3 y% w# y/ D. F
- ok: true. @* F) |! \7 T4 X* [7 a
- }
2 [" x; P( O9 P1 Q% ~- R6 Y - })
/ G' n2 I# }5 u2 X" } - </script>
复制代码 {/ j5 P) `% ]) w( C# e, K
这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->
1 r! v0 ]9 ~( \/ R' t% l - {{#if ok}}
4 b& {8 e# L* c9 s* ~5 p - <h1>Yes</h1>, f2 I) v+ V1 l; Y) ?
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: : n# d9 D4 c" G
- <div id="app">* `4 {# w0 d% d! {* {* m. r
- <div v-if="Math.random() > 0.5">
: `4 l0 |( H6 x5 e* b" u6 J - Sorry. m: m1 @$ n7 R0 M) V1 p, c" U
- </div>2 Z: E2 `2 X# V: ^" t. d' k
- <div v-else>
) _, m9 _" n# x8 |7 d5 i - Not sorry' K3 m& T' k; u$ Q! c1 G- H
- </div>
3 k4 X6 i" \$ s4 n8 t - </div>
[! ~$ [% f9 j9 g% a r - 3 D- b2 H1 f5 H( A( E
- <script>- k. r, V, y# k: w! g
- new Vue({
8 |( u9 X5 {; |/ H& A8 c - el: '#app'1 K8 c5 ?7 z/ u
- })
. ^; Z/ @* u) q" W4 b5 e - </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: - u( E% q& u! q4 [( \& Y: f
- <div id="app">
( W6 y0 f0 K6 q& z% O - <div v-if="type === 'A'">
( s' X+ s) F. W- q - A
2 h3 f' p7 ]3 @ - </div> t- \. ]) |% e( n" S! K2 Q
- <div v-else-if="type === 'B'">2 l( M& b9 Z- S. S: [
- B
, [1 N# P, a1 c8 G6 P2 L - </div>
) s! P! z$ ~- b6 u0 C - <div v-else-if="type === 'C'">" R* X4 N! w! f: ]% H9 \
- C
3 Y" r `4 x! F! U6 ?0 e - </div>6 U Q. ~" X- i# L
- <div v-else>
6 T. q) A) {; D& ]% ?8 o - Not A/B/C% k2 n1 s' m" _6 d
- </div>
3 Z9 |9 A3 P% r: Q: O- M - </div>
& v' E+ d6 W/ L! F- {% P$ O- K M -
& X+ P: f0 l0 Z1 [9 i, | - <script>
6 J" L4 g8 ]% v: W! i) V7 B) Y1 s - new Vue({( k5 b' M( a9 ~) C2 k- P: Y5 R, c
- el: '#app',& K4 h s7 a6 f6 W0 U" w& W3 f
- data: {: {& o# u% F1 K' F; `2 I
- type: 'C'
4 E5 W& M+ j' j- a5 }6 ~4 A) X7 C - }2 ^' Q+ `. r; X+ o
- })
/ N7 f7 W6 |0 O9 w% | - </script>
复制代码
9 p4 p V" m! h: a5 C9 f% e- Xv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
+ c4 B& k; r5 T4 U9 w- <h1 v-show="ok">Hello!</h1>
复制代码
1 a% |$ j( c/ p
6 K. Z/ ?3 h9 K7 q4 P& p! h4 V7 @" R' c- X) V, ?3 q9 Y8 g: s
4 Z m: {- d- B, h, s# E |