cncml手绘网
标题: Vue.js 条件与循环 [打印本页]
作者: admin 时间: 2018-7-4 10:52
标题: Vue.js 条件与循环
条件判断v-if条件判断使用 v-if 指令:
v-if 指令在元素 和 template 中使用 v-if 指令:
- <div id="app">
- v) \$ N2 u. i( }) [( ]2 r: }7 O+ K - <p v-if="seen">现在你看到我了</p>
9 E$ g& { V, h8 m" K1 A$ b - <template v-if="ok">
& N+ o' |3 U/ X+ M6 V - <h1>菜鸟教程</h1>
$ z' i+ q7 ?& K& g5 b5 W) J - <p>学的不仅是技术,更是梦想!</p>" S2 M; `" D8 a2 ^
- <p>哈哈哈,打字辛苦啊!!!</p>4 i, n2 ?% i% f; ]- U3 u1 W$ s& @) l
- </template>7 F, R9 Y T) t5 R/ W" z. R; d. C
- </div>! h# z, x3 p0 |' ?' Z8 q
-
- e+ N. m! F2 i6 U3 q- B: a9 O - <script>
8 B+ ~8 Z" P7 @' `% [ - new Vue({
0 q a& v6 x" U( N- @ z4 y) } - el: '#app',1 M; A2 a U& c3 j1 \
- data: {0 |+ t* H1 v. A, S2 v8 }
- seen: true,
5 E; N4 R& m* V1 v3 U5 s - ok: true
) @3 {3 Q& T: v1 j! c1 A - }
$ v1 G( S, G7 _! \' b) S8 C - })% v) A+ v/ G- l4 x
- </script>
复制代码 1 M4 S8 \5 ^1 K% L/ J1 [: N$ f
这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。
在字符串模板中,如 Handlebars ,我们得像这样写一个条件块:
- <!-- Handlebars 模板 -->
* v1 z. j4 o3 O5 x/ G3 s; M - {{#if ok}}% q' A2 H6 A; A( ~: L# I6 z
- <h1>Yes</h1>
I( w+ d, o. \, h - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块:
v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
& U9 S8 ?6 u( i& H8 ^8 w! K4 C
- <div id="app">( q- |# u5 p. E j' `
- <div v-if="Math.random() > 0.5">6 h, Q# M- V3 X9 ]/ ?0 O c
- Sorry; E' m) X, q1 H& \2 T' [
- </div>
, X3 H, u: r. @1 z: E; f - <div v-else>
1 K# {$ O" k5 t& o7 i* w2 W - Not sorry' [ J: ]. Z/ t, Z3 ]* I& c$ [
- </div>
& w, b4 g" U ~0 `2 f - </div>
7 h$ y; y# A: @; G -
# I0 I: Y0 x* a; x0 R8 F0 j; E - <script> ~5 s2 K/ h; Z' }$ q0 S
- new Vue({
) t0 c! u) H7 P3 [$ a - el: '#app'% D, P: n, Z' g# ?- h6 U& q
- })3 g( t; d. {6 ~9 v
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用:
v-else 指令判断 type 变量的值:
9 ~) E2 z2 b' f" t
- <div id="app">
8 V$ H4 w& k/ u! `* b7 c - <div v-if="type === 'A'">
/ x# s, h7 ], U) k - A
9 c+ |) E/ l }2 n; O9 W - </div>7 Y4 c& A1 v, h5 W0 s
- <div v-else-if="type === 'B'">2 n/ m' Z; O/ ]* U2 J
- B
( R: k& l D/ k4 I* a6 S/ I7 b - </div>
" r$ l1 C! |. D" \& Q - <div v-else-if="type === 'C'">4 k& o5 `9 D0 Z7 ]
- C
8 W2 d, y$ X) ?0 R" [ - </div>
2 J% `" x0 [, p8 H' | - <div v-else>; o4 B0 f6 @+ J: [% A/ E
- Not A/B/C, w8 m+ X6 Q; {/ x* |5 v& @/ B
- </div>
; z- F& c" R' I+ i# A9 d - </div>
8 h. P7 s" [" F. v7 r- L - ) B+ {3 l1 m7 y4 H' d
- <script>: I1 V9 g/ v& g1 j0 I( ]6 W! z
- new Vue({1 c( ^7 z4 ~: T- X: r
- el: '#app',
5 G* }. Y! a$ c& }6 e - data: {+ |: ~7 c, z7 Z; W' G
- type: 'C') t/ L/ G% w, n- T
- }& F) d) j7 h6 L: k$ X
- })1 p$ ^1 }& U! Y0 ~ F' [% m' u
- </script>
复制代码 ; `1 a3 [/ [2 S) f
v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。
v-show我们也可以使用 v-show 指令来根据条件展示元素:
v-show 指令1 d: V, _' R$ S- l# q
- <h1 v-show="ok">Hello!</h1>
复制代码
8 E( @7 ?9 u) ^$ |* c7 Q! b4 N, x: o
) M, S0 O8 [& y% n7 I( E
4 i5 ~* U# P! T+ g
| 欢迎光临 cncml手绘网 (http://www.cncml.com/) |
Powered by Discuz! X3.2 |