|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
" f& k- S3 P3 b* C( g& p U5 c - <p v-if="seen">现在你看到我了</p>8 [5 u2 o0 M% d& y% [+ e0 ]* j
- <template v-if="ok">
2 J1 P9 Q% Q( F9 q! c - <h1>菜鸟教程</h1>' |# e, X! V" C* j! o6 ?
- <p>学的不仅是技术,更是梦想!</p>* }% W8 T: |- k' p% L E
- <p>哈哈哈,打字辛苦啊!!!</p>- a8 j, `: x! k
- </template>4 N, S+ b6 n# q; N( R! n3 H9 k; C
- </div>0 v5 k6 Q7 t+ E' {0 W. R- ?5 H
-
" U9 n6 w6 N! d) {8 M - <script>- f% t. i( r, C. A$ r/ X0 n+ g
- new Vue({
9 h# Q, [; \. d* r: j - el: '#app',
1 W+ @2 P9 U! I* R n% @) k" ]: m - data: {
" U8 n+ Q% t9 f7 G% p8 x% v9 } - seen: true,0 |; v( q2 c. D3 v! T' U, Q
- ok: true
7 ]9 e) K/ Z* j- m7 |8 k7 `+ r - }6 t4 p# X2 n' _& q! V
- })8 |- L* { g7 b
- </script>
复制代码
' C' M% G3 H* _& C1 V& k这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->- ^6 x/ C$ _' t+ G8 c7 T
- {{#if ok}}8 c/ @9 S0 i# ?
- <h1>Yes</h1>4 x0 h; U( V. C, j
- {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: . d. `- L: V& D* A8 T1 K
- <div id="app">
0 n* u. W. k# T$ H0 Q - <div v-if="Math.random() > 0.5">4 Q& ?1 c, ^" Y1 P$ |3 J% p$ K
- Sorry
5 | @: E( V6 p$ O - </div>
7 b% h0 |- h t/ J. w - <div v-else>6 g; ]9 U7 B8 L. Y& F' ^) @. d
- Not sorry- R5 d4 \7 }! L9 N6 {
- </div>+ W7 J3 ?# v+ D# ]3 C9 ?+ f' a
- </div>$ P5 f( w; i" d4 O
- 1 R K6 \5 {. {
- <script>0 n7 s3 u# d2 ?2 F/ }
- new Vue({
$ `, ]7 |4 ]1 |$ A- y6 p - el: '#app'
3 \, l; p; J6 D k% {# k - })+ c1 q+ U g( D. U( _1 D8 K' Q
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值:
3 I. Z$ o8 ^2 m! b& L( z- <div id="app">+ v4 |1 N; g% N, y7 s% E
- <div v-if="type === 'A'">
, t- O1 k6 y; \" W' w' U - A
, G6 C' ~1 D! w4 y4 w. ] - </div>; [6 ~; `' n6 r( H: i3 r
- <div v-else-if="type === 'B'">
. R3 u+ \* M f [; H% M& P - B
& T6 K& f3 R: {0 B9 O - </div>7 g. K& K3 A0 C. Q
- <div v-else-if="type === 'C'">" T! ^# |/ n _' `
- C
! @6 t3 e, {# n. G* e2 N - </div>; X5 {! ]$ U" A! z9 C- I, t0 l5 a
- <div v-else>, q) p- X. E& q8 t; [8 x: I: k
- Not A/B/C4 a) Q* m s K/ ]" E! I
- </div>4 S' b4 g& ^. I/ Q# l
- </div>1 ]* U9 a; O: z! y+ I& d
-
; n8 R( R% t5 s7 Z; X$ V* B - <script>
8 l9 `! ]/ v# g% x9 R0 E8 J - new Vue({
. [3 @8 y( r# n% f4 x - el: '#app',2 [2 b2 Y5 u: U. s
- data: {
4 B6 X" B1 b! q - type: 'C'& g, ?$ Z9 E( o
- }6 j3 D! Q, P1 w F$ }* A
- })% q5 ?/ w- _- @1 G9 e
- </script>
复制代码 - M7 u* n7 J- T* x' i
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令; q7 S6 f) V/ a+ B6 j: K
- <h1 v-show="ok">Hello!</h1>
复制代码 * @; d+ a! v% f+ I4 d; u* z {
: b6 Z9 A. x( F# {) \% t
- D$ Q/ Q5 ~# `# i1 z2 c* j, F6 ]* P
|