vue部分内置指令
Posted 别Null.了
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue部分内置指令相关的知识,希望对你有一定的参考价值。
指令:是带有 v- 前缀的特殊属性,职责是当表达式的值改变时,将其产生的连带影响,响应式的作用于dom
v-html :更新元素的innerHTML,会把标签名也带上
v-text :更新元素的textcontent,不支持标签
<span v-text="msg"></span> 等同于 < span>msg </ span>
v-cloak :该指令不需要表达式,在还没有执行到vue代码的时候隐藏元素,可解决页面“闪烁”问题。v-cloak是一个解决初始化慢导致页面闪动的最佳实践
v-once :不需要表达式,作用是定义它的元素或组件只渲染一次,包括元素或组件的所有子节点
v-pre :不需要表达式,跳过这个元素以及子元素的编译过程,以此来加快整个项目的编译速度
v-on:(@) :用于监听DOM事件,例如:v-on:click
@click表达式可以直接使用javascript语句,也可以是一个在vue实例中methods选项内的函数名,可以在方法中传递参数。
<a v-on:click="add">...</a>
<a @click="add()">...</a>
在@绑定的事件后加小圆点“ . ”,再跟一个后缀就是修饰符
常用修饰符有:
- .stop
- .prevent
- .capture
- .self
- .once
//阻止单击事件冒泡:
<a @click.stop="handle"></a>
//修饰符的串联:
<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(): <input @keyup.13="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 的表达式遍历数组时支持一个可选参数作为当前项的索引
<li v-for="(book , index) in books "> index - book.name )</li>
v- for 的表达式遍历对象属性时,有两个可选参数,分别是键名(key)和索引(index)
<li v-for="(value , key , index) in user "> index - key : value </li>
v- for 的表达式还可以迭代整数
<span v-for="n in 10"> n </span>
以上是关于vue部分内置指令的主要内容,如果未能解决你的问题,请参考以下文章