美文网首页
Vue自定义指令传参

Vue自定义指令传参

作者: 头大如牛 | 来源:发表于2020-08-07 15:10 被阅读0次

1. 用途

虽然Vue的本身思想是不想让用户操作DOM,但是考虑到特殊情况,肯定存在不得不操作DOM的情况,所以可以用到自定义指令。
常用示例如下

<template>
  <div>
<div v-drag>自定义指令</div>
  </div>
</template>

<script>
export default {
  data(){},
  methods: {},
  directives: {
    drag: function(el) {}, // 示例1
    drag(el) {} // 示例2
  }
}
</script>

2. 传参

有时候光是dom操作无法满足需求,我们业务场景可能需要向自定义指令里面传值,或者里面的值传出来影响或改变data里的值,于是需要用到binding,可以通过set使内部的值传出,可以利用对象,传外部的值进去,示例如下:

<template>
  <div>
<div v-drag="{set:setVal,data: outData}">自定义指令</div>
  </div>
</template>

<script>
export default {
  data(){
    outData: 1,
    a: 2,
    b: 3
  },
  methods: {
    setVal(val1,val2) {
      this.a = val1;
      this.b = val2;
    }
  },
  directives: {
    drag: function(el,binding) {
      var value1 = 11;
      var value2 = 22;
      binding.value.set(value1, value2); // 外部的data会接收到内部的value1和value2,执行方法setVal();
      console.log(binding.value.data) // 会得到外部传入的 outData : 1
    }
  }
}
</script>

相关文章

  • Vue自定义指令传参

    1. 用途 虽然Vue的本身思想是不想让用户操作DOM,但是考虑到特殊情况,肯定存在不得不操作DOM的情况,所以可...

  • uniApp自定义组件

    自定义组件代码 语法,传参,事件跟VUE一致 ,请参数vue的写法

  • season2-全局API

    第1节:Vue.directive 自定义指令 Vue.directive自定义指令 自定义的指令:changec...

  • 31.vue传参

    1.vue传参 vue传参使用路由传参params,query,或者使用vuex,localStorage,vue...

  • Vue div节点滚动事件-加载更多

    使用Vue.directive注册全局指令 绑定事件 对于Vue自定义指令不明白的同学请移步: Vue自定义指令 ...

  • VUE-2:自定义指令、事件

    directive自定义指令 我们还可以通过`Vue`提供的directive方法来自定义指令 注册指令 `vue...

  • vue入门6---vue基本指令、自定义指令、插件

    一、vue常用指令概览 二、vue自定义指令 注册全局指令Vue.directive('my-directive'...

  • vue自定义指令初探

    vue自定义指令初探 一、什么是自定义指令 自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念,但并非...

  • vue 有自定义指令

    vue 的自定义指令,分为全局自定义指令和局部自定义指令,局部自定义指令等价于局部组件。 自定义指令可以对DOM进...

  • Vue指令钩子函数

    Vue指令上篇文章有讲过了,现在分析Vue指令钩子函数。 自定义指令 全局定义:Vue.directive( ' ...

网友评论

      本文标题:Vue自定义指令传参

      本文链接:https://www.haomeiwen.com/subject/mxcfdktx.html