Vue.js常用指令汇总(v-if//v-show//v-else//v-for//v-bind//v-on等)
有时候指令太多会造成记错、记混的问题,所以本文在记忆的时候会采用穿插记忆的方式,交叉比对,不易出错。
本文主要讲了一下六个指令:
v-if//v-show//v-else//v-for//v-bind//v-on
1. v-if 条件渲染指令,根据其后表达式的bool值进行判断是否渲染该元素;
eg:
HTML:
1
2
3
4
5
6
|
< div id = "example01" > < p v-if = "male" >Male</ p > < p v-if = "female" >Female</ p > < p v-if="age>25">Age:{{age}}</ p > < p v-if="name.indexOf('lin')>0">Name:{{name}}</ p > </ div > |
JS:
1
2
3
4
5
6
7
8
9
|
var vm= new Vue({ el: "#example01" , data:{ male: true , female: false , age:29, name: 'colin' } }) |
页面渲染效果:
所以,v-if指令只渲染他身后表达式为true的元素;在这里引入v-show指令,因为二者的区别是v-show指令会渲染他身后表达式为false的元素,这样的元素上会添加css代码:style="display:none"; 将上面v-if的实例代码改为v-show,页面渲染效果为:
2, v-show 与v-if类似,只是会渲染其身后表达式为false的元素,而且会给这样的元素添加css代码:style="display:none";
3, v-else 必须跟在v-if/v-show指令之后,不然不起作用;
如果v-if/v-show指令的表达式为true,则else元素不显示;如果v-if/v-show指令的表达式为false,则else元素显示在页面上;
eg:
1
2
3
4
5
6
7
|
< div id = "app" > < h1 v-if="age >= 25">Age: {{ age }}</ h1 > < h1 v-else>Name: {{ name }}</ h1 > < hr > < h1 v-show = "name.indexOf('cool') = 0" >Name: {{ name }}</ h1 > < h1 v-else>Sex: {{ sex }}</ h1 > </ div > |
1
2
3
4
5
6
7
8
9
10
|
<script> var vm = new Vue({ el: '#app' , data: { age: 21, name: 'keepcool' , sex: 'Male' } }) </script> |
4, v-for 类似JS的遍历,用法为 v-for="item in items", items是数组,item为数组中的数组元素。
eg:
CSS:
1
2
3
4
5
6
|
<style> table,th,tr,td{ border : 1px solid #ffcccc ; border-collapse : collapse ; } </style> |
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
< div id = "example03" > < table > < thead > < tr > < th >Name</ th > < th >Age</ th > < th >Sex</ th > </ tr > </ thead > < tbody > < tr v-for = "person in people" > < td >{{ person.name }}</ td > < td >{{ person.age }}</ td > < td >{{ person.sex }}</ td > </ tr > </ tbody > </ table > </ div > |
JS:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<script> var vm = new Vue({ el: '#example03' , data: { people: [{ name: 'Jack' , age: 30, sex: 'Male' }, { name: 'Bill' , age: 26, sex: 'Male' }, { name: 'Tracy' , age: 22, sex: 'Female' }, { name: 'Chris' , age: 36, sex: 'Male' }] } }) </script> |
页面效果:
5, v-bind 这个指令用于响应地更新 HTML 特性,比如绑定某个class元素或元素的style样式。
eg,分页功能中当前页数高亮的效果,可以使用bind指令。
1
2
3
4
5
|
< ul class = "pagination" > < li v-for = "n in pageCount" > < a href = "javascripit:void(0)" v-bind:class = "activeNumber === n + 1 ? 'active' : ''" >{{ n + 1 }}</ a > </ li > </ ul > |
6, v-on 用于监听指定元素的DOM事件,比如点击事件。
eg:
1
2
3
4
5
6
|
< div id = "example04" > < input type = "text" v-model = "message" > < button v-on:click = "greet" >Greet</ button > <!-- v-on指令可以缩写为@符号--> < button @ click = "greet" >Greet Again</ button > </ div > |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<script> var exampleData04={ message: "Nice meeting U" }; var vm2= new Vue({ el: "#example04" , data:exampleData04, methods:{ greet: function (){ alert( this .message); } } }) </script> |
Vue.js常用指令汇总(v-if//v-show//v-else//v-for//v-bind//v-on等)的更多相关文章
- 02: vue.js常用指令
目录:Vue其他篇 01: vue.js安装 02: vue.js常用指令 目录: 1.1 vuejs简介 1.2 选择器:根据id.class等查找 1.3 静态绑定数据 data 1.4 插值 { ...
- Vue - vue.js 常用指令
Vue - vue.js 常用指令 目录: 一. vuejs模板语法之常用指令 1. 常用指令: v-html 2. 常用指令: v-text 3. 常用指令: v-for 4. 常用指令: v-if ...
- vue.js常用指令
本文摘自:http://www.cnblogs.com/rik28/p/6024425.html Vue.js的常用指令 上面用到的v-model是Vue.js常用的一个指令,那么指令是什么呢? Vu ...
- 【Vue】vue.js常用指令
http://www.cnblogs.com/rik28/p/6024425.html Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会 ...
- Vue.js常用指令:v-for
一.什么是v-for指令 在Vue.js中,我们可以使用v-for指令基于源数据重复渲染元素.也就是说可以使用v-for指令实现遍历功能,包括遍历数组.对象.数组对象等. 二.遍历数组 代码示例如下: ...
- 新人成长之入门Vue.js常用指令介绍(一)
写在前面 作为一个刚步入职场工作的新人,对于公司中所用的技术和框架基本上不懂,只能从最基础的开始做起,进入公司接触的第一个框架就是前端框架Vue.js,几个功能做下来,觉得Vue.js首先学习起来真的 ...
- Vue.js常用指令:v-model
一.v-model指令 v-model 用来获取表单元素的值.对应input输入框获取的是输入的值,单选按钮.复选框.下拉框获取的是选择的状态. 代码示例如下: <!DOCTYPE html&g ...
- Vue.js常用指令:v-on
一.v-on指令 v-on指令在Vue.js中用来处理对应的事件.用法: v-on:事件类型="函数体" 例如:点击按钮的时候执行play事件 <button v-on:cl ...
- Vue.js常用指令:v-show和v-if
一.v-show指令 v-show指令可以用来动态的控制DOM元素的显示或隐藏.v-show后面跟的是判断条件,语法如下: v-show="判断变量" 例如: v-show=&qu ...
随机推荐
- [bzoj3218] a+b problem [最小割+数据结构优化建图]
题面 传送门 思路 最小割 我们首先忽略掉那个奇♂怪的限制,就有一个比较显然的最小割模型: 建立源点$S$和汇点$T$ 对于每个元素$i$建立一个点$i$,连边$<S,i,w[i]>$和$ ...
- Hash表模板
namespace Hash { ; ; struct adj { ll nxt,v,num,val; }e[N]; ll head[H],ecnt=; void init() { ecnt=; me ...
- 命令__shell数字-字符串比较
shell常用逻辑判断 -b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d file 若文件存在且是一个目录,则为真 -e file 若 ...
- 03 Java 修饰符
Java 修饰符主要分为两类: 访问修饰符 非访问修饰符 访问修饰符 public,对所有类可见 protected,对同一包内的类和子类可见 default,同一个包内的类可见 private,对当 ...
- Sublime Text3配置SublimeREPL快捷键的方法(Python)
因为用sublime运行python,如果有input()函数,ctrl+b是不能输入数据的,所以下载安装了sublimeREPL进行调试. 但是sublimeREPL没有自定义快捷键,所以只有自己设 ...
- hdu 4679 树的直径
/* 题目大意:给n个点n-1条边的树,求删除哪条边时两个树中最大的直径与边权的乘积最小. 树的直径(Diameter)是指树上的最长简单路. 直径的求法:两遍BFS (or DFS) 若删除的边不是 ...
- HDU 3389 Game (阶梯博弈)
Game Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u Submit Status D ...
- 蓝牙攻击指南(kali)
基本操作 hciconfig 查看蓝牙设备信息 hcitool:这是一个查询工具. 可以用来查询设备名称,设备ID,设备类别和设备时钟. hcidump:可以使用这个来嗅探蓝牙通信 hciconfig ...
- python的优化机制与垃圾回收与gc模块
python属于动态语言,我们可以随意的创建和销毁变量,如果频繁的创建和销毁则会浪费cpu,那么python内部是如何优化的呢? python和其他很多高级语言一样,都自带垃圾回收机制,不用我们去维护 ...
- linux dev设备
/dev目录的文件都是设备,我们可以像操作文件一样操作设备.但是究竟什么才是设备文件哪?作为程序员不能用代码敲出来的概念我们都是不喜欢的,所以本文用shell来操作体验什么才是/dev文件. 我们执行 ...