Vue.js常用指令汇总(v-if、v-for等)


Posted in Javascript onNovember 03, 2016

有时候指令太多会造成记错、记混的问题,所以本文在记忆的时候会采用穿插记忆的方式,交叉比对,不易出错。

本文主要讲了一下六个指令:

v-if//v-show//v-else//v-for//v-bind//v-on

1. v-if 条件渲染指令,根据其后表达式的bool值进行判断是否渲染该元素;

eg: 

HTML:

<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:

var vm= new Vue({
 el:"#example01",
 data:{
 male:true,
 female: false,
 age:29,
 name:'colin'
 }
 })

页面渲染效果:

Vue.js常用指令汇总(v-if、v-for等)

所以,v-if指令只渲染他身后表达式为true的元素;在这里引入v-show指令,因为二者的区别是v-show指令会渲染他身后表达式为false的元素,这样的元素上会添加css代码:style="display:none"; 将上面v-if的实例代码改为v-show,页面渲染效果为:

Vue.js常用指令汇总(v-if、v-for等) 

2, v-showv-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:

<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>
<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:

<style>
table,th,tr,td{
 border:1px solid #ffcccc;
 border-collapse: collapse;
 }
</style>

HTML:

<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:

<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>

页面效果:

 Vue.js常用指令汇总(v-if、v-for等)

5, v-bind  这个指令用于响应地更新 HTML 特性,比如绑定某个class元素或元素的style样式。

eg,分页功能中当前页数高亮的效果,可以使用bind指令。

<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:

<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>
<script>
 var exampleData04={
 message:"Nice meeting U"
 };
 var vm2=new Vue({
 el:"#example04",
 data:exampleData04,
 methods:{
 greet:function(){
 alert(this.message);
 }
 
 }
 })
</script>

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript做拖动布局的思路
May 31 Javascript
动态调用CSS文件的JS代码
Jul 29 Javascript
jquery easyui中treegrid用法的简单实例
Feb 18 Javascript
基于Jquery插件实现跨域异步上传文件功能
Apr 26 Javascript
轻松掌握JavaScript装饰者模式
Aug 27 Javascript
获取JavaScript异步函数的返回值
Dec 21 Javascript
通过sails和阿里大于实现短信验证
Jan 04 Javascript
浅谈JavaScript作用域和闭包
Sep 18 Javascript
基于JSONP原理解析(推荐)
Dec 04 Javascript
JavaScript时间日期操作实例小结【5个示例】
Dec 22 Javascript
vue如何使用async、await实现同步请求
Dec 09 Javascript
weui上传多图片,压缩,base64编码的示例代码
Jun 22 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
Nov 03 #Javascript
原生javascript实现的ajax异步封装功能示例
Nov 03 #Javascript
探索Vue.js component内容实现
Nov 03 #Javascript
javascript跨域请求包装函数与用法示例
Nov 03 #Javascript
预防网页挂马的方法总结
Nov 03 #Javascript
网页挂马方式整理及详细介绍
Nov 03 #Javascript
AngularJS实现在ng-Options加上index的解决方法
Nov 03 #Javascript
You might like
PHP中的错误处理、异常处理机制分析
2012/05/07 PHP
浅析php创建者模式
2014/11/25 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
chrome原生方法之数组
2011/11/30 Javascript
『jQuery』名称冲突使用noConflict方法解决
2013/04/22 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
Python之修改图片像素值的方法
2019/07/03 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
三维科技面试题
2013/07/27 面试题
优秀毕业生求职推荐信范文
2013/11/21 职场文书
采购员的工作职责
2013/12/26 职场文书
全国道德模范事迹
2014/02/01 职场文书
高中军训感言500字
2014/02/24 职场文书
防灾减灾宣传标语
2014/10/07 职场文书
小学生手册家长意见
2015/06/03 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang
python运行脚本文件的三种方法实例
2022/06/25 Python
MySQL分布式恢复进阶
2022/07/23 MySQL