cncml手绘网
标题: Vue.js 条件与循环 [打印本页]
作者: admin 时间: 2018-7-4 10:52
标题: Vue.js 条件与循环
条件判断v-if条件判断使用 v-if 指令:
v-if 指令在元素 和 template 中使用 v-if 指令:
- <div id="app">
: E! D% M0 n$ F+ H) H" y - <p v-if="seen">现在你看到我了</p>
/ V2 v. G) Y8 x6 U - <template v-if="ok">1 f! x& J# N p* E! E( a
- <h1>菜鸟教程</h1>8 H$ T- E( u( f& K9 j+ e, f5 B
- <p>学的不仅是技术,更是梦想!</p>; E9 I3 G( s4 |* a4 L- ^. B
- <p>哈哈哈,打字辛苦啊!!!</p>
( A0 }9 a+ r3 ]+ D% r3 Z - </template>
9 k, A/ z& }# K - </div>! r6 V) ^7 p; q: l
- 7 t7 i' W( q) L# p
- <script>
! t% U5 \6 ?! f2 G- O' X3 n1 \ - new Vue({/ Q9 [: w, a+ R* l
- el: '#app',& n* z1 D- O1 [. K6 y/ w$ _
- data: {
6 g# i, x7 Q6 p% |. j8 a$ H( z - seen: true,) f2 Z3 B! J1 [' j
- ok: true
. r" W6 f. E0 r' ^$ B& j/ [" x - }
+ ~0 J. R9 X. x3 o' J" Z: h% b - })- K, |9 E; \- c+ C" {( p5 g
- </script>
复制代码
; d6 a& ]( y7 D. [这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。
在字符串模板中,如 Handlebars ,我们得像这样写一个条件块:
- <!-- Handlebars 模板 -->
. v2 Q) C* t: m( W( k( ? - {{#if ok}}7 s7 I7 {% k5 ^
- <h1>Yes</h1>
$ T4 @8 S. H* X7 z) B8 K; J - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块:
v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
. y. A* P$ J# {0 p1 c+ ]+ p4 a2 ^
- <div id="app">
, F4 j. J. F6 h - <div v-if="Math.random() > 0.5">! ?. f9 r; I5 I/ N/ W" i
- Sorry
, l/ t: h9 Q# \5 ^ - </div>
% ]8 `; [# H* }0 ?9 C' \- ~3 z - <div v-else>
! q- ?9 E* E5 \# ?& T - Not sorry
5 f1 n+ H7 d6 V8 R( g - </div>8 W6 \9 _: _ f2 |3 Z
- </div>9 ]$ k+ _. c2 ]
-
6 _9 ]; V& w! K+ b6 h - <script>
+ M0 n" m$ u- Q+ u8 V8 U - new Vue({( N5 s( M3 a4 I" D! F7 @4 m8 P z* {
- el: '#app'
$ B; N$ l1 b3 v/ h2 E! @. b3 n1 S7 l - })
* d. a6 ~: a4 I0 r/ P n- b# m - </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用:
v-else 指令判断 type 变量的值:
1 Z- P& o/ ]' @- <div id="app">
6 ]1 \0 V3 I4 K! \- H ~, u) J2 B; O. L - <div v-if="type === 'A'">
/ T% d& @1 k, r- G1 Y- R. d - A, ?. w& H R8 x# y4 {* U! {
- </div>& f8 J- q& ~- Q8 J0 J: N G- d
- <div v-else-if="type === 'B'">4 Q {; Y2 l# \+ t( X- B
- B
- y1 C9 c$ J/ J% j- b# \ - </div>, K$ [- r- `" F7 k4 P& C6 o
- <div v-else-if="type === 'C'">
* ~- L& a5 Y/ V$ u/ N$ k - C! M% [, L: N2 L2 c# x
- </div>5 S0 e1 M: p. n$ B) E
- <div v-else>- A q& p- P/ R6 k. T
- Not A/B/C
+ G+ H/ y; B6 J! m - </div>. G2 w4 a/ Z6 @# e* `' d2 H% e
- </div>
) R" K V! X% R, p -
0 X2 W0 c; v U - <script>
4 s) |( }4 f( C$ R+ l" R- k; z( ] - new Vue({
! {: W$ C) T1 e: G/ B7 x - el: '#app',
3 v: g! W& V' V S - data: {" U# S* @$ W" E; O5 r; W5 F
- type: 'C'- T, N/ B8 R" d2 i) p( S5 k+ q
- }
- Q3 T7 o J( w4 c) C - })3 t" }$ b2 G* f
- </script>
复制代码
! g$ W9 Z! |$ V- K# b, pv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。
v-show我们也可以使用 v-show 指令来根据条件展示元素:
v-show 指令
: D: U: m! f# i6 i. g7 F- <h1 v-show="ok">Hello!</h1>
复制代码 ( j6 S1 q" g8 n% h
. T( @ l& }3 r6 W5 j8 ?
W' C Z, d, C1 S4 M3 y; z& I8 r' _& w9 Z; y, o* z3 z% b( t
| 欢迎光临 cncml手绘网 (http://bbs.cncml.com/) |
Powered by Discuz! X3.2 |