【vue】常用指令
vue指令带有前缀 v-。
一、v-bind 单向数据绑定
在html中显示数据,除了使用插值表达式{{}}之外,也可以使用vue中的v-bind指令。
... ...
<body>
<div id="app">
<!-- v-bind指令 -->
<h1 v-bind:title="message">
{{content}}
</h1>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
content: '我是标题',
message: '页面加载于 ' + new Date().toLocaleString()
}
})
</script>
</body>
... ...
鼠标悬停到标题上,可以看到显示了data里的message数据,这就是v-bind:title="message"起了作用。

v-bind也可以直接使用简写,就是一个冒号:。
<!-- v-bind 指令的简写形式: 冒号(:) -->
<h1 :title="message">
{{content}}
</h1>
二、v-model 双向数据绑定
上面的v-bind单向绑定,其实就是在元素中拿到了data里的数据来展示。
而双向绑定,不仅可以拿到data的数据展示到页面,而且当修改页面值的时候,也可以修改data里的数据。看例子:
... ...
<body>
<div id="app">
<!-- v-bind:value只能进行单向的数据渲染 -->
<input type="text" v-bind:value="searchMap.keyWord"><br>
<!-- v-model 可以进行双向的数据绑定 -->
<input type="text" v-model="searchMap.keyWord">
<p>{{searchMap.keyWord}}</p>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
searchMap:{
keyWord: '双向绑定'
}
}
})
</script>
</body>
... ...

可以看到上面2个输入框都拿到了data里的searchMap.keyWord的值,显示"双向绑定"。
这时候先修改上面的输入框的值,这是单向绑定的,修改后,发现输入框拿到的data里的searchMap.keyWord,依旧是"双向绑定"。

接着,再修改下面输入框的值,这是双向绑定的,修改后,单向绑定的输入框拿到的值也变了,data里的searchMap.keyWord的值被修改了。

三、v-on 绑定事件
v-on指令可以绑定事件,比如说click,点击事件。
... ...
<body>
<div id="app">
<!-- v-model 可以进行双向的数据绑定 -->
<input type="text" v-model="searchMap.keyWord">
<!-- v-on 指令绑定事件,click指定绑定的事件类型,事件发生时调用vue中methods节点中定义的方法 -->
<button v-on:click="search()">查询</button>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
searchMap:{
keyWord: '点击查询按钮触发点击事件'
}
},
methods:{
search(){
console.log('触发点击事件')
}
}
})
</script>
</body>
... ...
查询按钮绑定了click事件v-on:click="search()",当点击按钮的时候会去调用vue里的search()方法。
console.log('触发点击事件'),浏览器F12查看console,可以看到输出内容。

v-on的简写是@:
<!-- v-on 指令的简写形式 @ -->
<button @click="search()">查询</button>
四、修饰符 .
修饰符是以半角句号.指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。
例如,.prevent修饰符告诉v-on指令对于触发的事件调用onSubmitForm(),并非执行submit的提交,
这就是阻止了事件原本的默认行为。
<body>
<div id="app">
<form action="save" v-on:submit.prevent="onSubmitForm">
<input type="text" id="name" v-model="user.username"></input>
<button type="submit">保存</button>
<!-- 现在希望实现点击保存时候,表单不提交,而且走我们自定义的方法 -->
</form>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
user: {}
},
methods: {
onSubmitForm() {
if (this.user.username) {
console.log('执行自定义方法')
} else {
alert('请输入用户名')
}
}
}
})
</script>
</body>
点击保存按钮,就可以看到效果。

实际使用不多,了解就好。
五、v-if 条件指令
其实就是if else的用法,只不过这是在页面里使用的。
比如页面里写个判断,勾选、不勾选的时候分别显示不同的内容:
... ...
<body>
<div id="app">
<input type="checkbox" v-model="ok">是否勾选
<!-- v:if条件指令:还有v-else、v-else-if -->
<h1 v-if="ok">勾选时展示</h1>
<h1 v-else>不勾选时展示</h1>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
ok: false
}
})
</script>
</body>
... ...
不勾选时,

勾选时,

六、v-show 条件指令
v-show完成和上面v-if相同的功能。
<h1 v-show="ok">勾选时展示</h1>
<h1 v-show="!ok">不勾选时展示</h1>
区别在于:
v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。
如果需要非常频繁地切换,则使用 v-show 较好;
如果在运行时条件很少改变,则使用 v-if 较好。
七、v-for 列表循环指令
for循环都很熟悉了,在这里也一样用,可以循环遍历一个列表,把列表里的元素都给遍历出来。
需要的话也可以带上index,元素的索引,从0开始。
比如uselist里有3个对象,可以通过for循环拿到列表里没一个对象的字段值。
... ...
<body>
<div id="app">
<table>
<!-- <tr v-for="item in userList"></tr> -->
<tr v-for="(user, index) in userList">
<td>{{index}}</td>
<td>{{user.id}}</td>
<td>{{user.username}}</td>
<td>{{user.age}}</td>
</tr>
</table>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
userList: [
{ id: 1, username: '大周', age: 38 },
{ id: 2, username: '胖洪', age: 28 },
{ id: 3, username: '小毛', age: 18 }
]
}
})
</script>
</body>
... ...

4列分别对应 index、id、username、age。
【vue】常用指令的更多相关文章
- vue学习(二)Vue常用指令
2 Vue常用指令 1. vue的使用要从创建Vue对象开始 var vm = new Vue(); 2. 创建vue对象的时候,需要传递参数,是json对象,json对象对象必须至少有两个属性成员 ...
- 【Vue常用指令】
目录 v-html v-text v-for v-if v-show v-bind v-on v-model 指令修饰符 计算与侦听属性 自定义属性 获取DOM元素 "@ *** Vue.j ...
- 重学VUE——vue 常用指令有哪些?
一.什么是指令? 在 vue 中,指令以 v- 开头,是一种特殊的自定义行间属性.指令属性的预期值是一个表达式,指令的职责就是:表达式的值改变时,相应地将某些行为应用到DOM上.只有v-for是一个类 ...
- Vue.js 第1章 Vue常用指令学习
今日目标 能够写出第一个vue应用程序 能够接受为什么需要学vue 能够使用指令 能够通过指定完成简单的业务(增加删除查询) 能够理解mvvm 为什么要学习vue 企业需要 可以提高开发效率 实现vu ...
- vue常用指令
1.v-if系列 v-if="数据|判断" 只要条件成立,就显示if中的元素 v-else (注意:必须跟在v-if或者v-if-else的后面,不然失效) 如果if条件不成立显示 ...
- VUE常用指令总结!
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue常用指令总结
一.vue指令 官网解释 指令 (Directives) 是带有 v- 前缀的特殊特性.指令特性的值预期是单个 JavaScript 表达式 (v-for 是例外情况).指令的职责是,当表达式的值改变 ...
- Vue常用指令详解分析
Vue入门 Vue是一个MVVM(Model / View / ViewModel)的前端框架,相对于Angular来说简单.易学上手快,近两年也也别流行,发展速度较快,已经超越Angular了.比较 ...
- Vue.js之常用指令
vue常用指令 vue.js官方给自己的定义是数据模板引擎,并给出了一套渲染数据的指令.本文详细介绍vue.js的常用指令. 官网:点我 一.v-text.v-html v-text:用于绑定文本 v ...
- Vue常用语法及命令
1,Vue常用语法 vue常用语法之变量的定义 // 1,变量相关 // 变量的提升 var username = "雪雪"; var username ; console.log ...
随机推荐
- Spring Cloud 学习 (五) Zuul
Zuul 作为路由网关组件,在微服务架构中有着非常重要的作用,主要体现在以下 6 个方面: Zuul, Ribbon 以及 Eureka 相结合,可以实现智能路由和负载均衡的功能,Zuul 能够将请求 ...
- NodeJS+formidable实现文件上传加自动重命名
前述 本人node初学者,此前使用原生node实现文件上传时遇到了一些困难,只做到了.txt 和.png两中格式的文件可以正常上传,如果上传其他格式文件服务端保存的文件会无法正常打开,原因是对form ...
- 使用matpoltlib读取csv显示图表范例
import os import numpy as np import matplotlib.pyplot as plt root = os.getcwd() list_data = [os.path ...
- flask:蓝图--blueprint
一.蓝图 1.什么是蓝图?(WHAT) 1)蓝图就是模块化处理的类 2)用于实现单个应用的视图.模板.静态文件的集合 总结:蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关 ...
- PyQt学习随笔:Model/View中设置视图数据项可编辑的方法
在视图对象中调用setEditTriggers方法可以设置视图对象中的数据项是否可编辑以及编辑的触发方法. setEditTriggers方法是QAbstractItemView的方法,语法如下: s ...
- [Windows] Prism 8.0 入门(下):Prism.Wpf 和 Prism.Unity
1. Prism.Wpf 和 Prism.Unity 这篇是 Prism 8.0 入门的第二篇文章,上一篇介绍了 Prism.Core,这篇文章主要介绍 Prism.Wpf 和 Prism.Unity ...
- 第 7篇 Scrum 冲刺博客
一.站立式会议 1.站立式会议照片 2.昨天已完成的工作 对职工的查询 3.今天计划完成的工作 继续与同学对接,争取早日完成项目的整个流程 初步对数据库筛选 4.工作中遇到的困难 ①有同学不知道如何远 ...
- http请求user_agent字段解析
浏览器的常见User Agent 各字段的解释 浏览器的User Agent字段令人迷惑,例如:某一版本的Chrome访问网络时,User Agent字段如下: Mozilla/5.0 (Window ...
- 通过git-bash 批量管理VMware虚拟机
#先将vmrun .exe 加入环境变量 # 我这里是: ;C:\Program Files (x86)\VMware\VMware VIX; #cd E:/期中架构/#sh new\ 3.bash ...
- 腾讯游戏 K8s 应用实践|更贴近业务场景的 K8s 工作负载:GameDeployment & GameStatefulSet
引言 蓝鲸容器服务(Blueking Container Service,以下简称BCS)是腾讯 IEG 互动娱乐事业群的容器上云平台,底层基于腾讯云容器服务(Tencent Kubernetes E ...