|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">$ M3 m" L/ K0 v% b
- <p v-if="seen">现在你看到我了</p>
9 B1 I: L- m) w; v; O& s( [/ \$ T - <template v-if="ok">
; f% r4 R2 O! V5 X& W5 I - <h1>菜鸟教程</h1>- q. q" M$ @: B6 `, e
- <p>学的不仅是技术,更是梦想!</p>
7 h( Q8 y/ d" u' r% s - <p>哈哈哈,打字辛苦啊!!!</p>
# y# O! i& z4 Y/ m* \ - </template>
: o& i- l6 G6 H$ k - </div>& L9 }0 M2 E+ L
- ' D$ E) X }. j6 k; f
- <script>
4 V2 f) H3 ?# d" t - new Vue({
+ _2 B5 ]# Y; r' G - el: '#app',# S7 [" G# Y4 H/ e/ D3 Y
- data: {! Q+ L9 Q# ^+ k
- seen: true,
& L u/ a* [1 g - ok: true5 s# {' o' w( u! M
- }
# M* k _8 i' Y- A$ `# @1 |" m O - })
& y' Q- u( l7 M9 e2 f, `# K6 ? - </script>
复制代码 . G8 L" k! J" o3 ?+ b1 x+ W+ l
这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->
3 I! e# L, v+ ]! x0 z) V" r - {{#if ok}}
9 _& \0 `/ `6 K - <h1>Yes</h1>
% [! l" k( T* d7 F - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
* _4 Z3 x/ T9 @* {- <div id="app">2 G* P7 W& \: ?
- <div v-if="Math.random() > 0.5">+ U$ c" h, T$ f$ |
- Sorry( h" ^. j9 {0 r, X
- </div>
9 Y4 v2 D+ r3 K/ ^ - <div v-else>
, c2 Z. i+ G; @7 s4 ^# O1 s - Not sorry& Y* o/ H3 o+ D( O b: y
- </div>
% P! y# P! V% e8 r* A - </div>+ D2 {7 L: x4 W! D
-
* Q) V, [1 c6 f3 A2 R. y& d - <script> N3 d7 C9 {+ R5 F: |- l
- new Vue({2 H9 J; m1 j( G* d6 H2 B$ w; [
- el: '#app'% w" ?# V$ j n; x
- }). u% q, ^1 ]2 f$ B' g" j% O
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: $ y# `4 l* p3 v9 G' v$ _
- <div id="app">3 b0 V- @2 R: Z
- <div v-if="type === 'A'">
) p1 G# [$ }* k' w; n) }# z - A
# A0 n3 u/ c( H$ v- M - </div>
: \* @* M: ~9 k: n ]6 e - <div v-else-if="type === 'B'">
: ~! }9 ]( H/ u& L+ G - B
F; H. N- e8 N1 |5 U% ^+ Q - </div>
' D& U$ F& M6 b% M! C - <div v-else-if="type === 'C'">8 t4 D* [6 ^- K: b5 d, L
- C: z, Z# X( `" }! t, v* b
- </div>
5 Q2 T" D! I1 j" P- @. P - <div v-else>% I0 m% | G* h1 G; D
- Not A/B/C
0 H N& ~' P6 [: R, ~6 W! R$ m$ g - </div># a- E! I5 H$ h0 M8 S& W
- </div>
( b6 r+ `' M4 N6 N- A! q1 p! v8 }9 L+ b - & w& ^9 M4 V$ V, H1 p
- <script>
% ~0 s" T$ W. ` - new Vue({! i9 _2 u) K. a" J2 g( t3 Q5 M
- el: '#app',+ M. g6 X: H, @6 u7 W
- data: {
* B+ S3 j: X O. G' D* v - type: 'C' r( `1 V4 D/ v; R
- }4 I( ^4 T0 m% j1 k3 S& F- q
- })- z# m; g0 L4 F
- </script>
复制代码 1 [8 g+ Z* F& P, X: q$ u% q
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令. `% s5 f( s5 m5 T, \" Q
- <h1 v-show="ok">Hello!</h1>
复制代码
5 Q) g" v+ P3 J" C/ A
. W' g! I, d" C2 G9 @9 G, G' t6 x. H* x8 v# B
; C' `9 X9 J0 X |