0
点赞
收藏
分享

微信扫一扫

01 vue 基础指令

我是小瘦子哟 2022-02-20 阅读 80

v-once指令

当数据发生变化时,元素或者组件以及其所有的子元素将视为静态内容并且跳过,可用于性能优化

v-text指令

用于更新元素的 textContent, <span v-text ="xxx"></span>

v-html指令

与v-text类似 可以解析html

v-pre指令

用于跳过元素和它的子元素的编译过程,显示原始的Mustache标签

v-cloak指令

和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache 标签直到组件实 例准备完毕, 可以避免没有编译结束直接渲染造成的闪跳画面

v-bind指令

动态地绑定一个或多个 attribute,或一个组件 prop 到表达式

语法糖::

绑定class

 绑定style

CSS property 名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用引号括起来) 来命名

 动态绑定属性

 绑定一个对象

 v-on指令

绑定事件监听

语法糖:@

 传递参数

 v-if、v-else、v-else-if 指令

这些内容只有在条件为true时,才会被渲染出来

v-show 指令

根据一个条件决定是否显示元素或者组件

v-if v-show 区别

 v-for指令

遍历一组数据

遍历数组  <li v-for="(item,index) in 数组">

遍历对象 <li v-for="(value, key, index) in 对象">

遍历数字  <li v-for="item in 数字">

可以使用 of 代替 in

将被vue侦听的数组的变更方法

push()末尾加 pop()末尾删 shift() 开头删unshift()开头加 splice() 增删 sort() 排序reverse()反转

v-for key 作用

key属性主要用在Vue的虚拟DOM算法,在新旧nodes对比时辨识VNodes;

在进行插入或者重置顺序的时候,保持相同的key可以让diff算法更加的高效

如果不使用key,Vue会使用一种最大限度减少动态元素并且尽可能的尝试就地修改/复用相同类型元素的算法;

而使用key时,它会基于key的变化重新排列元素顺序,并且会移除/销毁key不存在的元素

 源码分析

有key,那么就使用 patchKeyedChildren方法

没有key,那么久使用 patchUnkeyedChildren方法;

无key:

 有key

v-model指令

v-model指令可以在表单 input、textarea以及select元素上创建双向数据绑定

原理:v-bind绑定value属性的值; v-on绑定input事件监听到函数中,函数会获取最新的值赋值到绑定的属性中

v-model 绑定其他表单类型

textarea  与text类似、checkbox、radio、select 需要value属性 v-model会使用value绑定的值

修饰符

lazy: 默认情况下,v-model在进行双向绑定时,绑定的是input事件,那么会在每次内容输入后就将最新的值和绑定 的属性进行同步;如果我们在v-model后跟上lazy修饰符,那么会将绑定的事件切换为 change 事件,只有在提交时(比如回车) 才会触发;

number:v-model绑定的值总是string类型,当你需要number类型时,可以使用number修饰符,问:既然是string类型,为啥在逻辑判断中可以与number类型比较,答:js在逻辑判断中有隐式转换

trim :去除两边空格

举报

相关推荐

0 条评论