|
条件判断v-if 条件判断使用 v-if 指令: v-if 指令在元素 和 template 中使用 v-if 指令: - <div id="app">
3 w5 n: @* _) V' o' Y, U - <p v-if="seen">现在你看到我了</p>8 v4 X" p6 y" O: y- L$ G. q( u
- <template v-if="ok">
1 B- v0 q$ V, [ M8 b - <h1>菜鸟教程</h1>
4 ~& Z; }1 G" Z0 V - <p>学的不仅是技术,更是梦想!</p>( ^8 `5 [0 U x. S
- <p>哈哈哈,打字辛苦啊!!!</p>) @$ z. S- F% x- C$ P4 v1 f
- </template>1 J; p$ ^. u& x' W; a3 I" I
- </div>
. k& @( r8 V, i6 P8 }0 ?: w - 1 P; W! v, S% r8 T% a! g! {
- <script>
. L. h# R- l0 J! G+ m8 B - new Vue({7 e( o8 u r% X* g- J
- el: '#app',9 w7 c: |) s3 S( \
- data: { m) i( _% @/ b* x1 J' }
- seen: true,
/ D6 y1 B+ C( J - ok: true! Z5 n( o4 p; F* n5 T: @
- }
- R5 W5 A9 C8 m+ v1 o- t - })
8 ^6 H" c5 k4 x: F7 | - </script>
复制代码
" r* p, D8 P9 n, i% U# H8 {这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: - <!-- Handlebars 模板 -->
, L$ m5 ?* l- A) L" z2 Y - {{#if ok}}3 v4 D9 L2 v7 V. r' s+ }
- <h1>Yes</h1>
7 C0 X1 A9 _: t - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块: v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息: 7 u5 o' C# ~- F% h& Z
- <div id="app">
" z u+ {3 a! `6 O" Y4 C7 Y( L3 b - <div v-if="Math.random() > 0.5">
4 Q8 Y" u" D2 K( @ - Sorry; l+ c/ ]" O" R [5 [7 O7 F
- </div>- W( R: [4 c1 O0 K( s* u
- <div v-else>" A6 T# C0 R/ x$ Y9 J F$ a6 q- c6 Z
- Not sorry
3 W. l) @" T, S - </div>" G, M5 B6 Q# Y8 s
- </div>
5 H4 F- v7 }8 {. p - * I5 M6 |6 K/ {: `* ~* q
- <script>6 G% s+ D- P! }* X. B* k1 x
- new Vue({7 D8 b5 r$ N3 N- {! n* I. h6 j0 f
- el: '#app'
2 B$ [$ j8 [4 r) b9 {) m7 M - })8 j& G/ C2 `% E4 O' K) s+ K
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用: v-else 指令判断 type 变量的值: 7 @( k6 B" K6 ~/ ?5 n
- <div id="app">8 C2 z$ p( s E* N
- <div v-if="type === 'A'">' w) F8 a: A: v* G3 e" [
- A3 S$ e _7 r3 J) b4 p0 u' h
- </div>8 h+ u4 M- \, o L
- <div v-else-if="type === 'B'">
4 {% j% ~ q4 ` ^8 y - B
4 z; _. }1 Y- @) u& O/ |4 p - </div>
! Z1 K. J1 a7 y% y3 E- F - <div v-else-if="type === 'C'">
h4 O1 i% A# Z) _ - C5 q7 s. b0 J$ q% n5 p
- </div>
$ a4 l! K: ?. o9 c - <div v-else>3 Y( t- H0 E1 K: h# l" ~% V
- Not A/B/C
% a6 W0 e5 ~" e$ l: f, ?9 | - </div>- Y- ]' p+ n2 L& _% j% }+ Z, V
- </div>; e ~+ W& ~/ z
- $ I8 t+ m8 t% c2 P; |
- <script>
4 f% H" V9 w% n0 f1 R* | - new Vue({
* G2 Q/ t/ n% I+ d! D, j7 u - el: '#app',
+ T$ j- y. C' `" K2 N - data: {! j: `, q9 Z' N$ F+ c2 \7 K
- type: 'C' \2 I- W' _2 n- g7 ?; c+ N* a$ f
- }
3 F( p) t" O) k" e, x% I+ Q4 Z - })/ R- R4 d6 P3 ^4 n; ~
- </script>
复制代码 ' o+ g. U* z! p/ B
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。 v-show我们也可以使用 v-show 指令来根据条件展示元素: v-show 指令
( h) [/ f% J- W; \0 n! J) ?- <h1 v-show="ok">Hello!</h1>
复制代码
" M, @5 ?& e K/ ?& Y5 S4 h9 |7 o* n+ T" T1 N
, h% v$ K; j& S' Q. u
' [! `8 m0 ?: g5 @6 \ |