指令:是带有 v- 前缀的特殊属性,职责是当表达式的值改变时,将其产生的连带影响,响应式的作用于dom
v-html :更新元素的innerHTML,会把标签名也带上
v-text :更新元素的textcontent,不支持标签
等同于 < span>{{msg}} span>
v-cloak :该指令不需要表达式,在还没有执行到vue代码的时候隐藏元素,可解决页面“闪烁”问题。v-cloak是一个解决初始化慢导致页面闪动的最佳实践
v-once :不需要表达式,作用是定义它的元素或组件只渲染一次,包括元素或组件的所有子节点
v-pre :不需要表达式,跳过这个元素以及子元素的编译过程,以此来加快整个项目的编译速度
v-on:(@) :用于监听DOM事件,例如:v-on:click
@click表达式可以直接使用JavaScript语句,也可以是一个在vue实例中methods选项内的函数名,可以在方法中传递参数。
在@绑定的事件后加小圆点“ . ”,再跟一个后缀就是修饰符
常用修饰符有:
- //阻止单击事件冒泡:
-
- //修饰符的串联:
- <a @click.stop.prevent="handle">a>
-
- //一个事件添加事件侦听器时使用事件捕获模式:
- <div @click.capture="handle">...div>
-
- //只有当事件在该元素本身(而不是子元素)触发时触发回调:
- <div @click.self="handle">...div>
-
- //一个事件只能触发一次,组件同样适用:
- <div @click.once="handle">...div>
-
- //在表单元素上监听键盘事件时可以使用按键修饰符。比如只有在keyCode是13时调用vm.submit():
v-bind(:) :响应并更新DOM特性。主要用法是绑定属性,动态更新HTML元素上的属性
v-model :数据双向绑定,用来在input、select、text、checkbox、radio等表单控件元素上创建双向数据绑定的
v-show :条件渲染,为DOM设置css的style属性
v-if/v-else/v-else-if :条件渲染,控制DOM元素的添加与删除,在render函数中就是三元表达式
v-for :循环指令,优先级比v-if高,尽量避免和v-if同时使用。需要增加唯一key属性,尽量避免使用index或随机数。
v- for 的表达式遍历数组时支持一个可选参数作为当前项的索引
- for="(book , index) in books ">{{ index}} - {{book.name })
v- for 的表达式遍历对象属性时,有两个可选参数,分别是键名(key)和索引(index)
- for="(value , key , index) in user ">{{ index }} - {{ key }} : {{ value }}
v- for 的表达式还可以迭代整数
for="n in 10">{{ n }}