cncml手绘网
标题: Vue.js 条件与循环 [打印本页]
作者: admin 时间: 2018-7-4 10:52
标题: Vue.js 条件与循环
条件判断v-if条件判断使用 v-if 指令:
v-if 指令在元素 和 template 中使用 v-if 指令:
- <div id="app">/ z7 u% ~9 D5 H8 D7 o
- <p v-if="seen">现在你看到我了</p>
+ x! \/ N* _" E* ? - <template v-if="ok">! o+ I& Y e0 g
- <h1>菜鸟教程</h1>
* k' `! E7 q* v# M" l4 O; H - <p>学的不仅是技术,更是梦想!</p>: ~$ Y' e9 |! D9 N: _( m' d* V
- <p>哈哈哈,打字辛苦啊!!!</p>/ n5 b n3 W! r4 V1 C
- </template>
6 T" i# u' A, v& b/ M - </div>
5 n1 k+ ?0 F* B9 M7 V$ ` -
. L$ J9 M7 n4 M. F - <script>
3 s6 h/ ~4 V3 T" B* d - new Vue({
# Y5 y% s; l5 W- { - el: '#app',
' c1 O# Z2 f+ l8 C; V ^ - data: {
, e0 d' b3 F$ e - seen: true,
$ _$ E' t% r# ~0 W - ok: true
; R1 ?/ \5 U* ]( D2 M - }
1 l9 M5 V2 Q! @; r+ G - })* v- g, y9 I$ i+ ^+ [4 I
- </script>
复制代码
: X5 t* J& `# t X, A这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。
在字符串模板中,如 Handlebars ,我们得像这样写一个条件块:
- <!-- Handlebars 模板 -->
; f$ R9 i8 n$ G, v0 B( Z9 x) m - {{#if ok}}
+ X3 m3 A% ]% r - <h1>Yes</h1>
% M) m) F/ i+ J, ^- r - {{/if}}
复制代码 v-else可以用 v-else 指令给 v-if 添加一个 "else" 块:
v-else 指令随机生成一个数字,判断是否大于0.5,然后输出对应信息:
1 V6 r" u& F4 W, [3 h# [0 G- <div id="app">
7 J Q4 r4 X: a. r - <div v-if="Math.random() > 0.5">2 w2 z9 Y- D' T7 d4 N
- Sorry
% N+ f# s% P) \+ ~; R2 l - </div>! |- z9 ]4 V# B: O6 i7 ?
- <div v-else>" B2 u m! I0 s2 o. {
- Not sorry* B1 [+ I3 _; `( M8 X
- </div>
- r" J/ J# r g$ j& v1 p1 H - </div>5 W4 H9 M: C4 F7 Q* L
-
& [( o$ W) n; X5 B6 k$ P/ Z - <script>
* p9 s) U- J: {: l, K7 ] - new Vue({
/ K6 Z" p# W* B) p' v* l4 k1 ? - el: '#app'" h! d* i9 N: G( [7 H
- })( _3 E# T' y* i; J3 z4 t
- </script>
复制代码 v-else-ifv-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用:
v-else 指令判断 type 变量的值:
! k! P' I' h9 m! C, U7 T% T0 a6 \ L
- <div id="app">& e2 g0 |+ N: M
- <div v-if="type === 'A'">' G: w0 B, A! ]: b @# q/ o
- A
R# j0 ], ]4 u6 W' ]) X5 Q - </div>
5 w* K7 z: b! t# W* C& M4 ?- b - <div v-else-if="type === 'B'">& z. Y& n8 |8 J2 X' F3 Z: A& ?6 m
- B. Y( F, J" x* t, V
- </div>8 a# J Z% L4 _! o8 ]4 @
- <div v-else-if="type === 'C'">
' T2 f; U5 u3 D' N - C3 j# H8 e4 X5 ?
- </div>
( y" j4 H2 d2 n# S% H6 O$ ]1 c - <div v-else>
* ^. i# |( I' @( M - Not A/B/C
: Z# x8 \9 J+ h3 L - </div>
0 ?5 |0 E( a# ]. g2 Z) f - </div>& R6 P% l: |3 K. E+ {
- + f/ V7 g: P$ k; }' o3 \; Q/ c! p
- <script>/ I8 D+ ^6 B. G+ @
- new Vue({! v9 d! }' U# [- J* h1 e2 H
- el: '#app',7 g8 K0 m9 ~. |" d8 z3 y6 S
- data: {
# W+ C8 h( ~/ |" u+ ?' l# I( ? R - type: 'C'
, B; J! A" K! q3 { - }
9 \1 Q, e0 `+ `! G# F4 R - })5 W! [: I* F' ^+ `% Z, }4 H4 R
- </script>
复制代码
4 r4 h6 h0 c' M9 |9 vv-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。
v-show我们也可以使用 v-show 指令来根据条件展示元素:
v-show 指令
+ q+ X1 c- O7 b1 `6 g- <h1 v-show="ok">Hello!</h1>
复制代码 ) m' k, v- M; z. \- I8 d5 V
5 C# l, y' ~+ p3 K! P
, j/ h! K2 k7 x+ g* F6 x6 O& v2 ^
| 欢迎光临 cncml手绘网 (http://www.cncml.com/) |
Powered by Discuz! X3.2 |