iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue的自定义指令传参方式
  • 500
分享到

vue的自定义指令传参方式

2024-04-02 19:04:59 500人浏览 独家记忆
摘要

目录自定义指令传参指令环境传参方式自定义指令动态参数自定义指令传参 指令 在Vue官网中,常用指令有v-model和v-bind,但是,如果我们需要对DOM元素进行底层操作,就需要用

自定义指令传参

指令

Vue官网中,常用指令有v-model和v-bind,但是,如果我们需要对DOM元素进行底层操作,就需要用到自定义指令。

今天主要讲到传参的2种方式。

环境

这里写图片描述

这里写图片描述

传参方式

在main.js中定义一个指令。

Vue.directive('zoom', {
    bind: function (el, binding, vnode) {
        console.log(binding)
    },
    update: function (el) {
    },
    unbind: function (el) {
    }
})

使用自定义指令,在任意一个html元素中,使用指令。

<div v-zoom:{a:1,b:2}="{width: 800, height: 1000}"></div>

这里写图片描述

方式一:v-zoom:{a:1,b:2}

  • 对于{a:1,b:2},在binding属性中,以字符串的形式传递,故可以写[1,2]、true等数据格式,但是最后拿到的都是字符串类型。

方式二:v-zoom="{width: 800, height: 1000}"

  • 等号后面的{width: 800, height: 1000},可以在binding的value属性中获取的数据的类型没有变化,
  • 可以直接使用。width后面的数字,可以用当前组件的参数替换。

参考https://cn.vuejs.org/v2/guide/custom-directive.html

自定义指令动态参数

1. 通过自定义指令中的修饰符的key作为值,更改显示的颜色

动态指令参数

当参数是动态的时候。

main.js

//当参数的值是动态的时候
Vue.directive('color2', {
  bind: function(el, binding) {
    el.style.color = binding.value;
  }
})
Vue.directive('color3', {
  bind: function(el, binding) {
    el.style.color = binding.arg;
  }
})

template.vue中

<template>
<div class="demo">
  <!-- value -->
  <p v-color2='purpleUser'><i class="el-icon-user-solid"></i></p>
  <p v-color2='redUser'><i class="el-icon-user-solid"></i></p>
  <p v-color2='greenUser'><i class="el-icon-user-solid"></i></p>
  <!-- arg -->
  <p v-color3:[purpleUser]><i class="el-icon-user-solid"></i></p>
  <p v-color3:[redUser]><i class="el-icon-user-solid"></i></p>
  <p v-color3:[greenUser]><i class="el-icon-user-solid"></i></p>
</div>
</template>
<script>
export default {
  data() {
    return {
      purpleUser: 'purple',
      redUser: 'red',
      greenUser: 'green'
    }
  },
  created() {},
  methods: {}
}
</script>
<style lange='sCSS' scoped>
p {
  display: inline-block;
  font-size: 40px;
}
</style>

参数是静态的,将key的值作为value,改变颜色

main.js

Vue.directive('color', {
  bind: function(el, binding) {
    const color = Object.keys(binding.modifiers)[0]; //将key的值作为value,改变颜色,Object.keys获取key的值;
    el.style.color = color;
  }
})

template.vue中

<template>
<div class="demo">
  <p v-color.purple><i class="el-icon-user-solid"></i></p>
  <p v-color.red><i class="el-icon-user-solid"></i></p>
  <p v-color.green><i class="el-icon-user-solid"></i></p>
</div>
</template>
<script>
export default {
  data() {
    return {}
  },
  created() {},
  methods: {}
}
</script>
<style lange='scss' scoped>
p {
  display: inline-block;
  font-size: 40px;
}
</style>

以上的方法,最终实现效果是一样的。

好了,这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: vue的自定义指令传参方式

本文链接: https://www.lsjlt.com/news/150145.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue的自定义指令传参方式
    目录自定义指令传参指令环境传参方式自定义指令动态参数自定义指令传参 指令 在vue官网中,常用指令有v-model和v-bind,但是,如果我们需要对DOM元素进行底层操作,就需要用...
    99+
    2024-04-02
  • vue自定义指令传参方式是什么
    这篇文章主要介绍“vue自定义指令传参方式是什么”,在日常操作中,相信很多人在vue自定义指令传参方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue自定义指令传参方式是什么”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • Vue在自定义指令绑定的处理函数中传递参数
    目录在自定义指令绑定的处理函数中传递参数需求背景方式一:包装函数方式二:利用动态参数在自定义指令中的传递参数时value和expression的区别注意点总结在自定义指令绑定的处理函...
    99+
    2023-03-10
    Vue自定义指令 Vue处理函数 Vue传递参数
  • Vue实现带参数的自定义指令示例
    正文 自定义指令参考官方文档:vuejs.bootcss.com/guide/custo… <!DOCTYPE html> <html lang="...
    99+
    2023-01-11
    Vue 带参数自定义指令 Vue 参数指令 Vue 自定义指令
  • Vue怎么在自定义指令绑定的处理函数中传递参数
    这篇文章主要介绍“Vue怎么在自定义指令绑定的处理函数中传递参数”,在日常操作中,相信很多人在Vue怎么在自定义指令绑定的处理函数中传递参数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue怎么在自定义指令...
    99+
    2023-07-05
  • vue中的自定义指令clickOutside
    目录自定义指令clickOutside首先我们先看看vue官方的文档clickoutside 这个指令用在哪里呢?写法自定义指令clickoutside使用及扩展用法自定义指令cli...
    99+
    2024-04-02
  • vue全局自定义指令和局部自定义指令的使用
    目录局部自定义指令(只针对组件内的元素)定义全局自定义指令自定义指令的钩子函数自定义指令钩子函数的参数例子除了默认设置的核心指令 (v-model 和 v-show),Vue 也允许...
    99+
    2024-04-02
  • Vue自定义指令详细
    目录1、背景2、局部自定义指令3、全局自定义指令4.1 自定义指令钩子函数4.2 钩子函数参数4.3 动态指令传参 5、拓展1、背景 最近在面试找工作,然后面试官就问了有关自定义指令...
    99+
    2024-04-02
  • Vue自定义指令详解
    目录Vue自定义指令自定义指令钩子函数输出相关属性运用例子总结Vue自定义指令 自定义指令 注册一个全局指令v-focus,该指令的功能是在页面加载时元素获得焦点 <!DO...
    99+
    2024-04-02
  • vue自定义指令的方法有哪些
    在vue中自定义指令的方法有:语法:Vue.directive(id, definition);1.自定义全局指令;2.自定义私有指令;在vue中自定义指令的方法有以下两种vue自定义指令语法:Vue.directive(id, ...
    99+
    2024-04-02
  • vue怎么自定义事件传参
    这篇“vue怎么自定义事件传参”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么自定义事件传参”文章吧。自定义事件传参...
    99+
    2023-06-30
  • vue如何自定义事件传参
    目录自定义事件传参先来简单看个例子自定义事件的$event传参问题原生vue里的$event自定义事件里的$event自定义事件传参 先来简单看个例子 TodoList.vue : ...
    99+
    2024-04-02
  • Vue自定义指令怎么写
    小编给大家分享一下Vue自定义指令怎么写,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是Vue指令指令是一种可以附加到DOM...
    99+
    2024-04-02
  • Vue中如何自定义指令
    这篇文章主要介绍Vue中如何自定义指令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Vue中除了内置指令,也允许注册自定义的指令。自定义指令提供一种将数据的变化映射为DOM的行为例如:当我们想用一个函数表示焦点Vue...
    99+
    2023-06-04
  • 深入解析Vue的自定义指令
    目录介绍​指令钩子​钩子参数​简化形式​对象字面量​在组件上使用​介绍​ 除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之...
    99+
    2023-05-18
    Vue 指令 Vue自定义指令
  • Vue自定义指令的示例分析
    这篇文章主要介绍Vue自定义指令的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在 AngularJs 中,它的指令使用 directive ( name,factor_fu...
    99+
    2024-04-02
  • vue自定义指令使用的方法是什么
    这篇“vue自定义指令使用的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue自定义指令使用的方法是什么”文章吧...
    99+
    2023-07-05
  • Vue自定义指令directive的使用方法分享
    1. 一个指令定义对象可以提供如下几个钩子函数(均为可选) bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。 inserted:被绑定元素插入父节...
    99+
    2023-05-15
    Vue自定义指令directive使用 Vue自定义指令directive Vue directive
  • vue中自定义指令directive的详细指南
    目录一、 什么是自定义指令二、 如何自定义指令钩子函数三、应用场景输入框防抖图片懒加载一键 Copy的功能拖拽总结一、 什么是自定义指令 我们看到的v-开头的行内属性,都是指令,不...
    99+
    2024-04-02
  • vue中自定义指令怎么用
    小编给大家分享一下vue中自定义指令怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、v-drag需求:鼠标拖动元素思路:元素偏移量 = 鼠标滑动后的坐标 - 鼠标初始点击元素时的坐标 + 初始点击时元素距离可视区域...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作