重学VUE——vue 常用指令有哪些?
一、什么是指令?
在 vue 中,指令以 v- 开头,是一种特殊的自定义行间属性。指令属性的预期值是一个表达式,指令的职责就是:表达式的值改变时,相应地将某些行为应用到DOM上。只有v-for是一个类外,后边跟的不是表达式。
一个指令能够接收一个参数,在指令名称之后以冒号表示。例如:
<a v-bind:href="url">vue官网</a>
添加指令后,url 会被当作变量来解析。
二、常用指令
2.1、v-model 双向绑定数据
v-model 指令可以用在 input、textarea、select元素上创建双向数据绑定。他会根据控件类型自动选取正确的方法来更新元素。
使用语法:<input type="text" v-model="msg"/>
<!-- 修改input中的值,标签p元素内容随之改变 -->
<input v-model="content"/><p>{{ content }}</p> data () {
return {
content: '我是双向数据绑定,可以有默认值',
}
}
2.2、v-for 列表渲染
作用:借助 v-for 把一个数据渲染成一个列表。
使用语法:<li v-for="item in list"></li>
其中 list 是源数据数组,item是被迭代的数组元素的别名。
<!-- 使用实例 -->
<ul>
<li v-for="item in list" :key="item.id">{{item.girl}}</li>
</ul> data(){
return{
list:[
{ id:'1' , girl:'花花'},
{ id:'2' , girl:'草草'}
]
}
})
2.3、v-bind 动态绑定属性
作用:用来动态绑定属性,属性值有变动的时候及时对页面数据或样式等保持最新状态。
使用语法:
<div v-bind:attribute = " 变量 "></div>
<!-- 更改 url 图片地址,网页内图片也会实时更新 -->
<img v-bind:src="url" alt=""> data () {
return {
url:'http://picture.ik123.com/uploads/allimg/161223/4-161223163338.jpg'
}
}
2.4、v-on 绑定事件
作用:给元素绑定事件监听,触发事件后,执行 methods 里面对应函数。可以缩写为@。
使用语法:
<div v-on:click="fun"></div>
//或
<div @click="fun"></div> <!-- 点击按钮,调试器会打印出vue -->
<button @click="print">点击,打印vue</button> methods:{
print(){
console.log('vue')
}
}
注意:上述 v-on 使用的时候没有传参,所以方法后的小括号可以省略。
v-on 传参时,必须添加括号,使用如下。
<!-- 点击按钮,调试器会打印出vue -->
<button v-for="item in list" @click="print(item)">点击{{item}}</button> data () {
return {
list:[ 'one', 'two', 'three' ]
}
},
methods:{
print(item){
console.log('点击',item)
}
}
这是一个遍历的按钮组,点击的时候,打印当前元素内容。
2.5、v-if / v-else-if / v-else
作用:根据逻辑判断,控制元素的显示和隐藏。
使用语法:<div v-if=" boolean|表达式 " ></div>
注意:v-if / v-else-if / v-else 使用语法都是相同的,但是v-else-if 和 v-else 必须与v-if连用,不能单独使用。
<!-- 修改show的值,元素内容也会改变 -->
<div >
<span v-if="show">真</span>
<span v-else>假</span>
</div> data () {
return {
show:true,
}
}
2.6、v-show / v-hide
作用:控制元素的显示和隐藏。
使用语法:
<div v-show=" boolean|表达式 " ></div> //表达式为真的时候显示
<div v-hide=" boolean|表达式 " ></div> //表达式为真的时候隐藏
<div >
<span v-show="show">真</span>
<span v-hide="show">假</span>
</div> data () {
return {
show:true,
}
}
2.7、v-html 解析html标签
2.8、v-once 进入页面时 只渲染一次 不再进行渲染
2.9、v-cloak 防止闪烁
2.10、v-pre 把标签内部的元素原位输出
2.11、v-text 解析文本
三、v-if 与 v-show 的区别
相同点:都是控制元素的隐藏显示的。
区别:
- v-if 是条件渲染,满足条件时,节点元素都会被渲染出来,包括事件绑定等,如果不满足条件,节点就不会被渲染出来,包括事件等。但 v-show 是借助 display:none 隐藏节点的显示,它的内容还有事件等始终都存在。
- v-if 来回切换时,浏览器需要不停地渲染,损耗性能,所以成本很高。但是 v-show 只是隐藏显示,所以成本较低。
- v-show 在页面初始化的时候,需要全部渲染,相对 v-if 成本要高。
- 根据 v-if 的特性,适合用于加快初始化的渲染速度。而 v-show 适合用于频繁切换的场景。
重学VUE——vue 常用指令有哪些?的更多相关文章
- 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常用指令介绍(一)
写在前面 作为一个刚步入职场工作的新人,对于公司中所用的技术和框架基本上不懂,只能从最基础的开始做起,进入公司接触的第一个框架就是前端框架Vue.js,几个功能做下来,觉得Vue.js首先学习起来真的 ...
- Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会为绑定的目标元素添加一些特殊的行为,我们可以将指令看作特殊的HTML特性(attribu ...
- vue入门-常用指令操作
指令:v-xx组成的特殊指令,如果一个标签中有指令会默认替换原有的书 v-model:实现数据和视图的双向绑定 v-text:在元素中插入值 v-html:在元素中插入标签或者插入文本 v-if:根据 ...
- vue之常用指令
事件缩写 v-on:click= 简写方式 @click= 事件对象$event <!DOCTYPE html> <html lang="en"> < ...
- vue的常用指令
https://www.bootcdn.cn/ 前端资源库 <!-- 常用内置指令 v:text : 更新元素的 textContent v-html : 更新元素的 innerHTML v-i ...
- Vue.js常用指令总结
有时候指令太多会造成记错.记混的问题,所以本文在记忆的时候会采用穿插记忆的方式,交叉比对,不易出错. 本文主要讲了一下六个指令: v-if//v-show//v-else//v-for//v-bind ...
随机推荐
- Java自定义注解使用和详解
前言 我们在做开发springboot 项目时候会遇到各种各样注解,使用各种各样注解,极大的简便了我们开发流程,方式,从JDK5开始支持 注解是Java语言的一种强大的功能 可以理解为代码上的特殊标记 ...
- 什么是TCP,什么是UDP,它们两者的区别? 三次握手
TCP: 定义: TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. TCP编程的 ...
- C++ 保存读取二进制
一.保存二进制 #include <iostream> #include <fstream> int main(){ float* output = new float[100 ...
- Qt简单的解析Json数据例子(一)
要解析的json的格式为: { "rootpath": "001", "usernum": 111, "childdep" ...
- (转)致Java程序员:你离架构师还差多远?
转至:https://blog.csdn.net/ityouknow/article/details/82782965 几乎每个Java程序员心中,都有着成为架构师的技术追求.那么,成为Java架构师 ...
- mzy git学习,禁用Fast forward的普通合并(六)
git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式, ...
- mzy,struts学习(三):action中获得servlet中三域一参的三种方法
package com.mzy.servlet; import java.util.Arrays; import java.util.Map; import javax.servlet.Servlet ...
- 移动端动画——requestAnimationFrame
window.requestAnimationFrame() 告诉浏览器--你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画.该方法需要传入一个回调函数作为参数,该回调函数会 ...
- “类型思维”之Typescript,你掌握了吗?
(一)背景 JavaScript是一门动态弱类型语言 对变量的类型非常宽容 而且不会在这些变量和它们的调用者之间建立结构化的契约. 试想有这么几个场景: 1: 你调用一个别人写的函数,但是这个人没有写 ...
- PENETRATION第一步
PENETRATION第一步 第一次去打靶机,本来都快成功了,电脑蓝屏警告了...(=_=) 靶机下载连接 (https://download.vulnhub.com/admx/AdmX_new.7z ...