Vue基础(Vue的原生指令)

指令

• 在使用指令时,会先找数据类型中的值,如果数据类型中没有,那么就去找data或methods中的属性名;如果没有,就报错
• 指令: v-开头,放在元素的行间属性,有着特殊意义的一些词;

写在html标签行内的指令:

• v-model : 一般用于表单元素;将data中数据放在input框中,当input值发生改变,数据也会跟着发生改变;
• input返回的数据格式固定为字符串

• 在单选框中,被选中的那一项,会把input框的value值赋值给v-model的值;
如果v-model的值和value值相同单选框就会被选中,其他的单选框就不会被选中了
• 单选框的v-model的值必须用一样的data属性名
• 多选框:v-model可以绑定一个数组,那么当该项被选中时,会把该input框中value放到数组里面;
如果多选框v-model绑定的不是一个数组,那么默认会将该值转成布尔值,控制所有复选框的选中状态

• v-text : 可以将data中的文本放入元素中
• v-html : 可以将data中的文本放入元素中,可以识别标签

• v-show : 通过设置布尔值来控制元素是否显示,如果是true,则显示,false,则隐藏;
如果不是一个布尔值,那么会默认转布尔;通过设置元素的display属性来控制是否显示;

• v-if : 控制元素的显示隐藏;如果不是布尔,会默认转成布尔;如果是false,直接删除了原有的元素;
• v-else-if
• v-else

• v-for : 循环,需要创建什么元素,就把v-for放在哪个元素身上,可以循环数组,字符串,数字,对象
• v-for="(item,index) in arr" item代表数组的每一项,index代表数组的索引 arr是data中一个变量
• v-for后面要加key
参考网址:https://www.jianshu.com/p/1896789fc8a8

• v-on : 给元素绑定事件的指令 (v-on:可以简写成@)
• 绑定事件时,可以有小括号,也可以没有
• 如果有小括号,但是没有传参,那么e(第一个参)默认是undefined
• 如果需要事件对象,并且需要传参,那么需要在绑定时使用$event进行占位

• v-bind : (可以简写成 : ) 将普通的属性转成动态的属性,可以去获取data中的数据,v-bind:class :属性值可以写成一个对象,里面的属性名是class的名字,属性值时true,该样式有效,false该样式无效;如果是数组的话,就会去获取data中的属性名对应的属性值,就是class的名字
• v-once : 只渲染一次,以后更改数据页不再更新了,当写静态结构时,可以使用这个指令
• v-pre : 跳过这个元素的编译,加快了编译过程,可以用来显示原始 Mustache 标签
• v-cloak : 这个指令保持在元素上直到关联实例结束编译。和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache 标签直到实例准备完毕。

Vue的指令

表达式的值除了可以出现内容中,也可以使用在其它位置,比如:属性。但是不能使用 { { }} 语法,而是需要 指令

vue 中,指令是一个带有 v- 前缀的属性,与普通属性不一样的地方在于,指令的值是引号括起来的 表达式,不同的指令有不同的作用,vue 内置了一些常用的指令,后期我们还可以自定义属于自己的指令

  • 内容输出
  • 循环
  • 逻辑
  • 属性绑定
  • 事件
  • 其它
    在这里插入图片描述

内容输出

通过 { { }} 我们可以很方便的中模板中输出数据,但是这种方式会有一个问题,当页面加载渲染比较慢的时候,页面中会出现 { { }}vue 提供了几个指令来解决这个问题

指令中的表达式不需要使用 { { }}

v-text

在这里插入图片描述
弊端:v-text 会填充整个 innerHTML,会把整个title填充掉,p再写数据也没用

v-cloak(这种写法用的比较多,结合{ {}}和v-text的优点)

在这里插入图片描述
在这里插入图片描述
这样写可以避免html加载完前出现{ { }}
需要配合 css 进行处理

v-html

为了防止 xss 攻击,默认情况下输出是不会作为 html 解析的,通过 v-html 可以让内容作为 html 进行解析
在这里插入图片描述

v-once

只渲染元素和组件一次,后期的更新不再渲染

v-pre

忽略这个元素和它子元素内容的编译
在这里插入图片描述

逻辑处理

v-show

根据表达式的值(布尔值),切换元素的显示与隐藏(display 属性)

适用于状态切换比较频繁的情况
在这里插入图片描述
在这里插入图片描述

v-if

根据表达式的值(布尔值),创建或销毁元素

适用于状态切换不频繁的情况

v-else / v-else-if

v-else 配合
在这里插入图片描述

v-else / v-else-if

v-else 配合

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值