|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
- N1 c7 c8 a$ Y3 E - <p v-if="seen">现在你看到我了</p>
+ ^) p, i6 e! O/ H: g& t- j8 X. z - <template v-if="ok">
1 O+ g' }0 D- y0 y, m% h - <h1>菜鸟教程</h1>
5 c d$ X2 }/ b2 ?8 o. ^0 D - <p>学的不仅是技术,更是梦想!</p>
3 [7 d9 z( f# B8 Z - <p>哈哈哈,打字辛苦啊!!!</p>) h9 g* p. V1 D- X9 i% W/ j
- </template>
& k& p& X5 @. a7 M - </div>; i' n* f* `. A( }6 w
-
& \. R( _# g4 c+ {1 A - <script>
, H) J2 U) G6 k. i; l - new Vue({
9 W% D: o* [7 P t - el: '#app',) b; J4 A# q4 k7 P" i: W
- data: {% G- J1 A& s5 M
- seen: true,
0 ^& D# m# d- P) w# h2 @8 a1 X - ok: true7 ~2 M5 {. s3 l7 h: }: B
- }' z; t7 k2 }! p, v5 Z* e& v+ F9 _
- })
, Y/ r' k) D k k; h7 u - </script>
复制代码
3 o: p/ Z, Q% }, [% b这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->
+ M% B$ H. Z) o& B7 ` - {{#if ok}}; ^' F& {( X" |- R* a9 s
- <h1>Yes</h1>% F2 h. Y7 ], b/ V
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: 1 v$ K( [ m4 |8 m" \( K1 Y! Q9 d
- <div id="app"># J5 b2 u, q* |8 L
- <div v-if="Math.random() > 0.5">
8 }# o* {: I) B, a - Sorry
1 f3 j# `% W8 [% w8 a - </div>
9 L& L2 G% h1 S5 p' `$ v/ s, l - <div v-else>
- G( N; `, x+ T! t( o0 B - Not sorry: \/ H, x! D6 l8 {8 [
- </div>0 O1 }* \5 w2 m4 k( y
- </div>/ ^4 O1 }8 O$ | m8 p3 i
-
0 q3 k% v4 t/ u - <script>
( o- n( x8 o: m& Q" L) X; k6 G7 ? - new Vue({$ q3 n( P7 T# e/ z- [( k A
- el: '#app'
) t& M* h: ^7 W1 M3 y: x - })7 T' k0 R7 ?0 f! K9 [% V
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: 1 K ~8 B8 e) B. Y8 Z
- <div id="app">, m+ n o: P) |- u5 [# L4 j
- <div v-if="type === 'A'">
' r! w- m8 R& L+ q, C3 b - A
+ M' X; H" N" E* R - </div>1 F9 Y, a# r1 _9 @9 ]
- <div v-else-if="type === 'B'">% i ~; G3 `* }9 I' T5 ~3 N
- B' k" Y9 F* C; c+ }. k4 J
- </div>0 I3 b8 g4 W1 ?/ R' D* s2 \
- <div v-else-if="type === 'C'">6 ?3 J+ a2 h( ~# `2 W4 u
- C
+ w4 `. v7 e9 M0 M( v - </div>
. {4 E9 z) Z Y0 }, V& P. K8 Z) M1 ]( i - <div v-else>
. j* w& d6 ]# P( s6 n2 W u/ w! a - Not A/B/C
5 j% t+ Q% k1 o. b1 O3 I - </div>& Z! z( T. {% B
- </div>
: U+ I" ^- p0 o. Q8 h% b3 T - , U" M; X# Q& Q* y% U
- <script>
/ w' O( T0 }: A1 _5 }5 \9 R - new Vue({
9 }1 C( z2 o0 U0 S g - el: '#app',
9 P. C# s1 ~* { - data: {( c! y9 c/ x% p, z7 z
- type: 'C'
* D% |" x- n$ `$ Q4 w9 \ - }$ U5 M$ ~2 v% [$ `0 q! z. L5 G( I+ W
- })4 d' C) r& j4 W% o+ g( Y
- </script>
复制代码 1 P+ `# n0 I) w- D0 w
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令/ \5 i0 x6 h0 R2 M' Y6 `! S7 }' Q7 h
- <h1 v-show="ok">Hello!</h1>
复制代码 " N# x3 {7 [; V
( S: Z! k5 ~3 g- Z H5 W. H
d; `8 L) [6 Y# G/ o. z( |0 @* p E- f' L+ x
|