最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

在vue中如何开发自定义指令directive

来源:动视网 责编:小采 时间:2020-11-27 19:38:12
文档

在vue中如何开发自定义指令directive

在vue中如何开发自定义指令directive:这篇文章主要介绍了vue自定义指令directive的相关资料,下面通过实例给大家介绍,需要的朋友可以参考下下面给大家介绍vue自定义指令directive,具体内容如下所示: 官网截图实例vue除了一些核心的内部定义的指令(v-model,v-if,v-for,v-show
推荐度:
导读在vue中如何开发自定义指令directive:这篇文章主要介绍了vue自定义指令directive的相关资料,下面通过实例给大家介绍,需要的朋友可以参考下下面给大家介绍vue自定义指令directive,具体内容如下所示: 官网截图实例vue除了一些核心的内部定义的指令(v-model,v-if,v-for,v-show
 这篇文章主要介绍了vue自定义指令directive的相关资料,下面通过实例给大家介绍,需要的朋友可以参考下

下面给大家介绍vue自定义指令directive,具体内容如下所示:

官网截图实例

vue除了一些核心的内部定义的指令(v-model,v-if,v-for,v-show)外,vue也允许用户注册自己的一些功能性的指令,有时候你实在是要对Dom操作,这个时候是自定义指令最合适的了。

来直接看例子:当页面加载时使得元素获得焦点(autofocus 在移动版 Safari 是不支持的),就是当页面加载好了,不做任何的操作使得表单自动获得焦点,光标自动在某个表单上代码如下:

Vue.directive('zsqfocus', { // 注册一个全局自定义指令 `v-zsqfocus`,在main.js文件里
 inserted: function (el) { // 当被绑定的元素插入到 DOM 中时自动调用
 el.focus() // 聚焦元素
 }
})

如果想注册局部指令,组件中也接受一个 directives 的选项:

<script>
export default {
 directives: { // 指令的定义
 zsqfocus: {
 inserted: function (el) { // 获得焦点
 el.focus()
 }
 }
 }
 }
</script>

然后你可以在模板中任何组件上使用新的 v-zsqfocus 属性,如下:

<template>
 <input v-zsqfocus /> //调用 
</template>

举了一个跟官网一样的例子,directives跟methods,mounted等是一个级别的可以同时使用。

PS:下面看下vue之自定义指令directive的实例代码,具体代码如下所示:

<template>
 <p>
 <input v-model="dir1" v-my-directive1="dir1"/>     <input v-model="dir2" v-my-directive2="dir2"/>
 </p>
</template>
<script>
 export default {
 data(){
 return {         dir1:'',         dir2:''
       }
 },
 directives:{       //直接绑定函数,作用等同于update,不做准备工作和扫尾工作
 myDirective1(val){
 console.log(val)
 },       myDirective2:{          bind(){             //第一次绑定到元素的准备工作          },          update(val,old){            //在绑定到元素后立即以初始值第一次调用,然后每次example2变化都会调用update            console.log(val)          },            unbind(){            //销毁前的清理工作          }       }
 }
 }
</script>

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

在vue中如何实现用手指进行滑动的方法

在vue中如何编译打包查看index文件

在vue中如何使用Jade模板

在Angular中向组件传递模板

在Node.js中使用Async和Await函数

解决webpack无法访问127.0.0.1的问题

在webpack-dev-server中实现远程访问配置方法

文档

在vue中如何开发自定义指令directive

在vue中如何开发自定义指令directive:这篇文章主要介绍了vue自定义指令directive的相关资料,下面通过实例给大家介绍,需要的朋友可以参考下下面给大家介绍vue自定义指令directive,具体内容如下所示: 官网截图实例vue除了一些核心的内部定义的指令(v-model,v-if,v-for,v-show
推荐度:
标签: VUE 实现 在vue
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top