一、什么是指令?

在 vue 中,指令以 v- 开头,是一种特殊的自定义行间属性。指令属性的预期值是一个表达式,指令的职责就是:表达式的值改变时,相应地将某些行为应用到DOM上。只有v-for是一个类外,后边跟的不是表达式。

一个指令能够接收一个参数,在指令名称之后以冒号表示。例如:

  1. <a v-bind:href="url">vue官网</a>

添加指令后,url 会被当作变量来解析。

二、常用指令

2.1、v-model 双向绑定数据

v-model 指令可以用在 input、textarea、select元素上创建双向数据绑定。他会根据控件类型自动选取正确的方法来更新元素。

使用语法:<input type="text" v-model="msg"/>

  1. <!-- 修改input中的值,标签p元素内容随之改变 -->
  2. <input v-model="content"/><p>{{ content }}</p>
  3.  
  4. data () {
  5. return {
  6. content: '我是双向数据绑定,可以有默认值',
  7. }
  8. }

2.2、v-for 列表渲染

作用:借助 v-for 把一个数据渲染成一个列表。

使用语法:<li v-for="item in list"></li>

其中 list 是源数据数组,item是被迭代的数组元素的别名。

  1. <!-- 使用实例 -->
  2. <ul>
  3. <li v-for="item in list" :key="item.id">{{item.girl}}</li>
  4. </ul>
  5.  
  6. data(){
  7. return{
  8. list:[
  9. { id:'1' , girl:'花花'},
  10. { id:'2' , girl:'草草'}
  11. ]
  12. }
  13. })

2.3、v-bind 动态绑定属性

作用:用来动态绑定属性,属性值有变动的时候及时对页面数据或样式等保持最新状态。

使用语法:

  1. <div v-bind:attribute = " 变量 "></div>

    <!-- 更改 url 图片地址,网页内图片也会实时更新 -->
  2. <img v-bind:src="url" alt="">
  3.  
  4. data () {
  5. return {
  6. url:'http://picture.ik123.com/uploads/allimg/161223/4-161223163338.jpg'
  7. }
  8. }

2.4、v-on 绑定事件

作用:给元素绑定事件监听,触发事件后,执行 methods 里面对应函数。可以缩写为@。

使用语法:

  1. <div v-on:click="fun"></div>
    //或
    <div @click="fun"></div>
  2.  
  3. <!-- 点击按钮,调试器会打印出vue -->
  4. <button @click="print">点击,打印vue</button>
  5.  
  6. methods:{
  7. print(){
  8. console.log('vue')
  9. }
  10. }

注意:上述 v-on 使用的时候没有传参,所以方法后的小括号可以省略。

v-on 传参时,必须添加括号,使用如下。

  1. <!-- 点击按钮,调试器会打印出vue -->
  2. <button v-for="item in list" @click="print(item)">点击{{item}}</button>
  3.  
  4. data () {
  5. return {
  6. list:[ 'one', 'two', 'three' ]
  7. }
  8. },
  9. methods:{
  10. print(item){
  11. console.log('点击',item)
  12. }
  13. }

这是一个遍历的按钮组,点击的时候,打印当前元素内容。

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连用,不能单独使用。

  1. <!-- 修改show的值,元素内容也会改变 -->
  2. <div >
  3. <span v-if="show"></span>
  4. <span v-else></span>
  5. </div>
  6.  
  7. data () {
  8. return {
  9. show:true,
  10. }
  11. }

2.6、v-show / v-hide

作用:控制元素的显示和隐藏。

使用语法:

  1. <div v-show=" boolean|表达式 " ></div> //表达式为真的时候显示
  2. <div v-hide=" boolean|表达式 " ></div> //表达式为真的时候隐藏
  3. <div >
  4. <span v-show="show"></span>
  5. <span v-hide="show"></span>
  6. </div>
  7.  
  8. data () {
  9. return {
  10. show:true,
  11. }
  12. }

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 常用指令有哪些?的更多相关文章

  1. 02: vue.js常用指令

    目录:Vue其他篇 01: vue.js安装 02: vue.js常用指令 目录: 1.1 vuejs简介 1.2 选择器:根据id.class等查找 1.3 静态绑定数据 data 1.4 插值 { ...

  2. Vue - vue.js 常用指令

    Vue - vue.js 常用指令 目录: 一. vuejs模板语法之常用指令 1. 常用指令: v-html 2. 常用指令: v-text 3. 常用指令: v-for 4. 常用指令: v-if ...

  3. vue.js常用指令

    本文摘自:http://www.cnblogs.com/rik28/p/6024425.html Vue.js的常用指令 上面用到的v-model是Vue.js常用的一个指令,那么指令是什么呢? Vu ...

  4. 【Vue】vue.js常用指令

    http://www.cnblogs.com/rik28/p/6024425.html Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会 ...

  5. 新人成长之入门Vue.js常用指令介绍(一)

    写在前面 作为一个刚步入职场工作的新人,对于公司中所用的技术和框架基本上不懂,只能从最基础的开始做起,进入公司接触的第一个框架就是前端框架Vue.js,几个功能做下来,觉得Vue.js首先学习起来真的 ...

  6. Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on

    Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会为绑定的目标元素添加一些特殊的行为,我们可以将指令看作特殊的HTML特性(attribu ...

  7. vue入门-常用指令操作

    指令:v-xx组成的特殊指令,如果一个标签中有指令会默认替换原有的书 v-model:实现数据和视图的双向绑定 v-text:在元素中插入值 v-html:在元素中插入标签或者插入文本 v-if:根据 ...

  8. vue之常用指令

    事件缩写 v-on:click= 简写方式 @click= 事件对象$event <!DOCTYPE html> <html lang="en"> < ...

  9. vue的常用指令

    https://www.bootcdn.cn/ 前端资源库 <!-- 常用内置指令 v:text : 更新元素的 textContent v-html : 更新元素的 innerHTML v-i ...

  10. Vue.js常用指令总结

    有时候指令太多会造成记错.记混的问题,所以本文在记忆的时候会采用穿插记忆的方式,交叉比对,不易出错. 本文主要讲了一下六个指令: v-if//v-show//v-else//v-for//v-bind ...

随机推荐

  1. 解决SecureCRT中删除会话后无法重建问题

    SecureCRT和SecureFX中创建一个会话(例如名为"10.0.2.47")后,如果删除这个会话,然后再创建一个同样名字的会话,就会报错,原因是SecureCRT在C盘上创 ...

  2. C++小知识——显示VS大括号/花括号折叠按钮

    这个功能默认是关闭的,打开路径如下: 将大纲语句块改为"True" 这个功能其实很有必要真不知道为啥默认要关闭这个功能. 站在巨人的肩膀上的思想,其实已经在互联网程序员之间深入人心 ...

  3. docker-02

    环境准备 10.0.0.100这台宿主机先做好给docker容器本地yum源,其实也可以用阿里等其他的yum源 1 上传6.9和7.6的镜像到10.0.0.100这台服务器 [root@docker ...

  4. vue项目中踩过的element的坑

    前言:在现在这种大的社会背景下,人们的需求更加的个性化了,而之前为了解放开发复杂的原生开发状态,现有的组件库已经远远不能满足人们高质量的需求了,这两天开发发现了一些element UI交互上的缺陷,当 ...

  5. mpu6050控制舵机云台

    准备材料:2个舵机mg90,云台支架,1个arduino-uno,mpu6050 编程工具:VScode-platformio  or  ArduinoIDE 我使用的是VScode在编辑代码上会更方 ...

  6. COM笔记-CoCreateInstance

    CoCreateInstance 创建组件的最简单的方法是使用CoCreateInstance函数. 在COM库中包含一个用于创建组件的名为CoCreateInstance的函数.此函数需要一个CLS ...

  7. vue引入zTree入门

    参考1:https://blog.csdn.net/tg928600774/article/details/80911589 参考2:https://blog.csdn.net/ylhsuper/ar ...

  8. 【权限管理】Apache Shiro和Spring Security的对比

    一.Shiro简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Secu ...

  9. Redis脑图

    转自:http://alphawang.com/blog/redis-mind-map/ 最近梳理了下 Redis 知识图谱,画了个脑图,涵盖了 Redis 数据类型.持久化机制.主从.哨兵.集群.应 ...

  10. 解决servlet中get方式中中文乱码问题(二):装饰者模式使用

    注意,这里是针对Tomcat容器中get方式提交的servlet中获得参数,参数中有中文的时候乱码的问题: 之前我已经讲过,Tomcat8.0及以上URIEncoding都是utf-8的默认编码,不会 ...