条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
6 i- |* A) S. d, S: N- } - <p v-if="seen">现在你看到我了</p>
5 e. I. w2 b% j - <template v-if="ok">
$ r. h$ U# n' Y6 W: }+ ^ - <h1>菜鸟教程</h1>( F3 C& g3 Z, e! a1 v
- <p>学的不仅是技术,更是梦想!</p>3 k; r! t9 V4 C! T: i
- <p>哈哈哈,打字辛苦啊!!!</p>
& l, g& C7 m1 {! p' o - </template>
6 e+ w9 J5 D+ f/ X) k - </div>- I% x; [ m8 Y
-
$ V2 B$ T8 _5 m+ _6 B; X) V2 Z( X - <script>; `8 ^' l' z* j7 G
- new Vue({
- z5 K% R9 k8 m4 ^( { - el: '#app',9 Z' D# i* X" g1 v& D
- data: {2 u9 B# Q3 k6 ? x
- seen: true,
: q8 k& n4 r( A, A H' c O - ok: true
8 o5 Z% U& D/ i; i& _' Q7 X3 C8 C0 i - }
3 A) s8 [3 I! U- j - })
" C3 q- D8 A) x$ @ - </script>
复制代码
6 K: Y3 j4 C- U2 P这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->4 R) W. s, Z* W* o; k& L: c. M
- {{#if ok}}7 x0 J/ R* _; Q1 j5 i
- <h1>Yes</h1>
5 A+ G" O- v: e3 } a5 u - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: 2 e- c# p, O; D6 l4 C
- <div id="app">% a# b; g- g( `% a+ q
- <div v-if="Math.random() > 0.5"># }1 q! g ?, ^5 ~# D8 e
- Sorry
5 C% q) W, ?1 M" P+ _% Y4 ?4 Q& X( _3 S - </div>" W! a/ [ `; w5 a- S$ g
- <div v-else>/ |( T, O- w) [, _3 {
- Not sorry
# y `, G$ N2 ]3 ^& P% G9 [9 o - </div>
9 h2 ?4 ~# R5 V1 L/ V1 v, [7 F - </div>
' J9 J$ r4 _$ [2 R - 7 u6 j) h( M3 q' Y8 B' |5 T7 j. p
- <script>
2 p5 Q h$ b8 a - new Vue({/ M' z3 t# | l) A9 i. t
- el: '#app'* a2 C3 s3 L/ a; x
- })
/ m( F* Y$ s5 k% I8 s x - </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: & {6 E) o1 V. c( L# g
- <div id="app">
- T$ E" k$ W- ~' Z+ o - <div v-if="type === 'A'">
8 T7 ?( B; p2 G2 n - A5 b8 c6 |6 ^' m( [0 O
- </div>
W& T6 ^+ q, K% k; C; Y - <div v-else-if="type === 'B'">
) i' x, R3 |- T" e' _" K - B& k0 T0 q) P( V7 R& n+ P
- </div>
5 E0 _$ i' W; P' ^9 U - <div v-else-if="type === 'C'">
3 U4 K& H5 Y8 K. Y, [/ ^ - C# k1 G6 ?0 f3 u2 @) T6 l
- </div>
7 S4 y3 M6 s4 @+ S - <div v-else>& L5 M/ a. L: E8 I, i0 q4 v& W
- Not A/B/C
; o/ \3 u' e. J; u0 O5 L5 E - </div>$ A& \8 G) k8 ^5 I
- </div>
5 ]% {) q' ?3 d# z -
7 F1 W: x# p- R( y! B - <script>1 _- q; A2 s/ M x c& z; g
- new Vue({
3 m( ?3 I( `+ U+ i9 N. K, ` - el: '#app',
% G+ q7 c# C" z: l, k, ? - data: {/ |1 b4 u" Q7 g x9 C
- type: 'C'
/ n2 t* }" I+ F - }
! Y! W0 U" a6 D3 a2 u! q8 k - })
2 Q: W+ T! D) h0 S1 e L - </script>
复制代码
: g$ C6 k% C* w* yv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令% T k9 _; c5 ?
- <h1 v-show="ok">Hello!</h1>
复制代码 , S! I+ b5 z- @; p% ~6 N. U
" d9 ~; L9 s9 K W% d) M
6 S2 j8 L9 }1 _0 X1 C5 |, K- a4 X& q. j: G" s0 A) }
|